立秋散分,顺便问个写法问题
今天看到LINUX内核代码里有不少这样的写法:
- C/C++ code
do{ ....} while(0);//为什么要这么写?这种形式好在哪?散分,唉,这个秋天就大三了,辞去了第一份工作,回去继续自己鼓捣……
[解决办法]
执行一遍,跳出~~
防止宏配对错误~~~
[解决办法]
举个例子看一下
- C/C++ code
#define FREE1(p) {if (p) free (p);}void main(){ int *p=(int*)malloc(10); int i=1; if (i>0) FREE1(p) else printf("expression was false.\n") ;}