C語言巨集替換
阿新 • • 發佈:2019-02-11
簡單的說:巨集定義又稱巨集替換、巨集代替,簡稱“巨集”。最主要是要”換“。
下面是簡單程式碼。
#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;
}