본문 바로가기

C언어

[C언어] 메모리 동적 할당 calloc() 함수malloc() 함수와 동일하게 힙 영역에 기억공간 할당할당된 기억공간 0으로 초기화수void * calloc(n, sizeof(int)).// 주어진 size의 크기를 가지는 기억공간 n개를 할당 받는다.#include #include int main(){ int i; int *a; a = (int *)calloc(5, sizeof(int)); for(i=0; i realloc() 함수이미 할당 받은 기억 공간의 크기를 변경해야 할 필요가 있을 경우 사용void * realloc(void *p, int size)// 포인터 p가 가리키고 있는 기억공간의 크기를 지정된 size 크기로 변경 int *a;a=(int *) calloc(5,sizeof(int));// int형 크기의 .. 더보기
[C언어] 구조체와 공용체 구조체(structure)서로 다른 자료형을 갖는 자료들의 모임하나로 자료형으로 정의하여 사용 (사용자 정의 자료형) #구조체 형식struct 구조체명 변수명1,변수명2,변수명3;struct score{ char no[4]; char name[8]; int kor; int eng; int math; int hist;}X,Y; //X,Y는 struct score의 구조체 변수typedef struct score{ char no[4]; char name[8]; int kor; int eng; int math; int hist;}jumsu; //struct score를 jumsu라는 새로운 자료형으로 정의jumsu X,Y;//또는struct person{ char name[8]; int age; char s.. 더보기
[C언어] 포인터 및 참조 포인터 변수?변수의 주소값을 갖는 특별한 변수변수: 특정 데이터 값을 갖고 있음포인터: 특정 데이터가 저장된 기억장소의 주소(번지)값을 가지고 있음따라서 포인터는 기억공간을 변수명으로 접근하지 않고 주소로 접근하기 위해 사용한다.포인터의 사용포인터가 유효한 대상을 가리키게 한 후 사용해야 한다.ptrVar = &var; // ptrVar이 var를 가리키게 함*prtVar = value; // prtVar을 이용하여 var을 액세스//& 주소 계산 연산자//*prtVar: 포인터 prtVar가 가리키는 곳 # 포인터 변수의 선언int *pp: 포인터 변수로서 정수형 자료가 수록되어 있는 주소를 갖고 있다.*p: 해당 주소에 수록되어 있는 정수형 자료를 갖고 있다. 일반변수포인터변수선언int a;int *.. 더보기
[C언어] 함수 # 함수특정한 작업을 수행하도록 설계된 독립적인 프로그램모든 함수는 서로 독립적이러한 함수들이 정해진 순서에 따라 실행됨으로써 프로그램의 기능 수행C 프로그램은 함수들로 구성전체 실행 내용을 몇 개의 모듈로 분류함수들은 서로를 자유로이 호출 가능# 함수의 장점프로그램 수정이 용이하다함수 재사용으로 코드 중복 최소화프로그램 기능 한 눈에 파악할 수 있다. 👉유지관리가 쉽다.#함수의 정의매개변수가 없으면 void형으로 사용반환 자료형에서 void 반듣시 명시 (생략시 int로 처리)매개변수 (void)와 ()는 동일한 의미# 함수의 원형 선언함수는 변수와 같이 사용되기 전에 미리 선언원형선언은 일반적으로 main()함수 이전에 한다.원형선언은 함수정의 부분의 헤더부분에 세미콜론(;)추가# 함수의 호출매개변.. 더보기
[C언어] 선택제어문/반복제어문 # 선택제어문If 문 # include int main(){ int score; printf("점수를 입력하세요: "); scanf("%d", &score); if (score%2 ==0) printf("%d는 짝수\n", score); if (score%2 == 1) printf("%d는 홀수\n", score); if(score >= 90) printf("%d는 A \n", score); else if(score >= 80) printf("%d는 B \n", score); else if(score >= 70) printf("%d는 c\n", score); else if(score >= 60) printf("%d는 D \n", score); else printf("%d는 F.. 더보기
[C] 선행처리기 매크로 # 선행처리기 종류파일 포함 - #include매크로 정의 - #define조건부 컴파일 #include #define program int main()#define print printf#define MAX 100#define MIN 10program{ print("MAX: %d MIN:%d \n", MAX, MIN);}// 매크로 함수 정의 프로그램 #include #define Max(x,y) x>y? x : y#define Min(x,y) x# 매크로 조건문# if defined ~ #endif#ifdef ~ #endif- 매크로 조건문은 반드시 #endif문으로 종료해야 한다.매크로 정의 여부 확인 방법`#if defined 매크로명` //매크로 정의 해제 프로그램 #include #define.. 더보기
[C언어] C언어의 개요 # C언어란😊사람 - (C언어) - ✍️컴파일러 - (어셈블러) - 🖥️컴퓨터C언어는 프로그래밍 언어이며, 프로그래밍 언어란 인간과 컴퓨터의 대화에 사용되는 의사소통 수단이다.즉, 사람과 컴파일러가 이해할 수 있도록 약속된 형태의 언어다.C언어는 논리적이고 구조적이며, 하드웨어 제어와 프로그램 이식성이 용이하다.저급언어의 특성을 갖는 고급 언어이다.C언어의 모든 프로그램은 .c 확장자를 갖는다.※ 소스코드(source code) : 프로그램 안에 있는 명령어또한, 실제로는 컴파일러(compiler) 와 컴퓨터 사이에 어셈블러라는 통역가가 있다. ※  컴파일러는 컴퓨터가 이해할 수 있도록 기계어로 번역하는 역할을 수행한다.소스 프로그램을 한 번에 기계어로 변환한다.어셈블러(assembler) : 기호로.. 더보기