본문 바로가기
C언어

C언어 #define이 무엇일까? / 전처리기 / C언어 기초

by 여름코딩 2022. 5. 25.
반응형

안녕하세요 판타지코딩입니다!

 

오늘은 C언어 코드를 공부하면서 자주 보게 되는 #define이 어떤 역할을 하는지 공부해보겠습니다!

 

#define 이라는 문구를 자주 보셨을겁니다.

 

define은 정의하다라는 의미인데 C언어에서는 무엇을 정의하는 것일까요?

 

#define은 '전처리기' 라고도 부릅니다.

 

코드의 상단에서 변수를 정의하는 기능을 합니다.

 

아래의 코드를 통해서 설명드리겠습니다.

 

#include <stdio.h>

 

#define max 100

 

int main()

{

    int score;

    score = 10;

 

    if(score < max)

    {

        printf("점수가 최대값이 아닙니다.");

    }

    else

    {

        printf("100점입니다.");

    }

 

    return 0;

}

 

코드의 가장 상단에 stdio.h 헤더 파일을 추가하고 #define 명령어를 작성했습니다.

 

#define max 100 은 max의 값을 '100'이라고 정의하는 것입니다.

 

그럼 max는 변하지 않는 100이라는 값으로 결정되기 때문에 더이상 변수가 아니겠죠?

 

그러므로 max는 '상수'가 됩니다.

 

정리하면 #define 이라는 명령어는 상수의 값을 정의하는 것입니다.

 

#define   상수 이름   상수

 

위와 같은 순서로 데이터를 입력하게 됩니다.

 

#define의 역할을 알았으니 이제 코드를 설명해드리겠습니다.

 

max를 100으로 정의하고 main 함수를 시작했습니다.

 

int형 변수 score 를 선언하고, 정수 10을 저장했습니다.

 

현재 점수는 10점이라는 의미입니다.

 

if 문을 활용해서 score < max 라고 작성했기 때문에 score가 max보다 작을 경우 printf 함수로 "점수가 최대값이 아닙니다." 라는 문장을 출력합니다.

 

그 외의 경우에는 else 문을 작성해 "100점입니다." 라는 문장을 출력합니다.

 

그러므로 이 프로그램을 실행시키면 score가 10이기 때문에 max의 값인 100보다 작으므로 "점수가 최대값이 아닙니다." 라는 문장이 출력됩니다.

 

그럼 오늘은 #define에 관해서 공부해보았습니다.

 

감사합니다!

 

 

반응형