对于一些状态的集合,尽可能使用enum而不是#define 来定义。如:enum {OFF = 0, ON = 1};远比#define OFF 0#define ON 1好。两种写法编译的效果是一样的,但是写程序及看程序的人员来说感觉就不一样了。用enum定义时,可以觉得OFF与ON是一个集合,有相关性(且可减少程序中#define的...
今天来说说宏。什么?宏也能可变参数?是的,你没有听错,带参数的宏和函数一样,同样支持可变参数。下面通过一个小程序加以说明。#define OUTSCREEN(msg,...)printf(msg,__VA_ARGS__)intmain(intargc,char*argv[]){OUTSCREEN("Hello World!n%s","__This is a MACRO!n");retur...
copy_to_user,copy_from_user,get_user,put_user函数比较copy_to_user-- Copy a block of data into user space.copy_from_user-- Copy a block of data from user space.get_user-- Get a simple variable from user s...
让我们从一个非常简单的例子开始,如下:int n;这个应该被理解为“declare n as an int”(n是一个int型的变量)。接下去来看一下指针变量,如下:int *p;这个应该被理解为“declare p as an int *”(p是一个int *型的变量),或者说p是一个指向一个int型变量的指针...