전처리문과 예약어

한준수·2023년 6월 19일
0

C-Lang

목록 보기
12/12

📖 전처리문

실제 컴파일 전에 미리 처리되는 문장이다.

  • 기존의 방대한 소스를 건드리지 않은 상태에서 부분적인 컴파일 수행
  • 소스의 시작부분에 위치하며, #으로 시작
  • #include, #define, #ifedf, #undef 등..

📌 #define 문

소스코드에 사용할 숫자나 문자열, 함수의 이름이 너무 길거나 복잡할 때 한 눈에 파악하도록 쉬운 기호로 표현한 것.

  • 형식
#define [기호] [숫자 또는 문자열 또는 함수]
  • 사용 예시
#include<stdio.h>

// 상수를 PI로 정의
#define PI 3.1415926535
// 문자열을 STR로 정의
#define STR "원의 면적을 계산하였습니다.\n"
// 함수를 END_MSG로 정의
#define END_MSG printf("프로그램이 종료되었습니다.")
void main(){
	printf("반지름이 10인 원의 면적은 ==> %10.5f\n",10*10*PI);
    
    printf(STR);
    
    END_MSG;
}

📖 예약어

  • 특별한 기능을 수행하도록 프로그래밍 언어에서 미리 정의한 것
  • 변수나 함수 이름에 사용할 수 없다.

📌 const 예약어

  • #define과 비슷한 기능을 수행한다.
  • const로 변수를 선언하면 해당변수는 변수로서의 역할을 하는 것이 아니라 상수 역할을 한다.
  • 형식
const 변수형 변수_이름 = 변숫값;
  • 사용 예시
const int a = 100; //a를 200으로 고정

int b;

b = a + 200; // asms 100이므로 b는 300이 됨
a = 200; // a는 더이상 변수가 아니라 고정된 값으로만 사용해야 하므로 잘못된 문법이다.

📌 static 예약어

처음 설정된 값을 초기화하지 않고 계속 유지하게 한다.

  • 형식
static 변수형 변수_이름 = 변숫값;
  • 사용 예시
#include<stdio.h>

void myfunc();

void main(){
	myfunc();
    myfunc();
}

void myfunc(){
	static int a = 0;
    
    a = a + 100;
    printf("a의 값 ==> %d\n",a);
}
  • 출력

📌 extern 예약어

다른 소스 파일에 선언된 전역 변수를 현재의 소스 파일에 가져와서 사용하고 싶을 때 사용한다.

  • 형식
extern 변수형 변수_이름;

0개의 댓글