카테고리 없음

[C언어] #define 사용하기

s뽈록이s 2013. 5. 3. 13:16
#define max	15

void main()
{
	int su;

	for(su = 0; su < max; su++)
	{
		if((su % 4 == 0) && (su != 0))printf("\n");
		printf("su = %d\t", su);
	}
	printf("\n");
}

프로그램 실행화면


#으로 시작하는 것은 프리프로세서(preprocessor), 한국말로 하면 전처리라고 한다. 프로그램이 실행되기 전, 쉽게 생각해서 제일 처음 실행하는 부분이다.


#include를 통해서 제일 먼저 해더파일을 불러오는 것 처럼 #define 또한 먼저 실행된다. 그래서 max라는 놈들을 전부 15로 치환해준다. 언제쓰면 좋을까?


내가 생각하기에 용도는 두 가지 인 것 같다. 파이 처럼 정해져 있는 수가 있다. 3.14를 매 수식마다 넣어주면 가독성이 떨어진다.


이럴 때 3.14에 이름을 부여해 주고 싶을 때 사용한다. 두 번째로는 기준점이 변경 될 가능성이 있을 때이다.


설명하기 애매하긴 한데 이미지 파일을 처리할 때 해당 픽셀의 값이 100이상이면 낮춰주는 프로그램을 만든다고 했을 때 if(pixel > 100)이런 조건식 보다는 if(pixel > value)로 하는 것이 좋을 것이다.