1. 程式人生 > >C語言巨集替換

C語言巨集替換

簡單的說:巨集定義又稱巨集替換、巨集代替,簡稱“巨集”。最主要是要”換“。

下面是簡單程式碼。

#include<stdio.h>
#include<stdlib.h>
#include<time.h>

#define st(a) #a


#define MAX(a, b) ((a) > (b)) ? (a) : (b)

#define PI 3.1415926

/*

巨集的最終是替換,所以不要再巨集裡面定義變數,下面的n1,n2的定義建議不要用,巨集替換後如果下面又有同名變數定義容易出錯 

*/
#define doit(n1, m1)\
int n2 = *n1;\
int m2 = 0;\
for(int i = 0; i < (n2); i ++)\
{\
	m2 += i;\
}\
*m1 = m2;

int main()
{
	int* n = (int *)malloc(4);	//sizeof(int) = 4 
	*n = 100000; 
	int* m = (int *)malloc(4);
	*m = 0;
	doit(n, m);
	printf("%d", *m);
	int k;
	
	k = clock();
	printf("\n%d", k);
	
	return 0;
}