반응형

C 언어 매크로(# define) 활용 예제

글. 수알치 오상문

 

#include <stdio.h>
// 정수, 실수 절대값
#define ABS(x) (((x)>0)?(x):-(x))
int main () {
	int n = -10;
	float f = -10.55;
	printf("%d, %f\n", ABS(n), ABS(f));
	return 0;
}

[실행 결과]

10, 10.550000

 

#include <stdio.h>
// 정수형 변수 값 swap
#define SWAP_INT(x, y) ((x)=(x)^(y), (y)=(x)^(y), (x)=(x)^(y))
int main () {
	int x = 10, y = 20;
	printf("x = %d, y = %d\n", x, y);	
	printf("swap x, y\n");
	SWAP_INT(x, y);	
	printf("x = %d, y = %d\n", x, y);
	return 0;
}

[실행 결과]

x = 10, y = 20
swap x, y
x = 20, y = 10

 

#include <stdio.h>
// for (i=start; i<=end; i += step)
#define FOR(i, start, end, step) for(i=start; i<=end; i+=step) 
int main () {
	int i;
	FOR(i, 0, 9, 1) {
		printf("%d Hello, world!\n", i);
	}
	return 0;
}

[실행 결과]
0 Hello, world!
1 Hello, world!
2 Hello, world!
3 Hello, world!
4 Hello, world!
5 Hello, world!
6 Hello, world!
7 Hello, world!
8 Hello, world!
9 Hello, world!

반응형

+ Recent posts