空语句
NULL;
FOR
建议for 语句的循环控制变量的取值采用“半开半闭区间”写法
半开半闭区间写法 闭区间写法
for (n = 0; n < 10; n++) for (n = 0; n <= 9; n++)
循环要尽可能的短,要使代码清晰,一目了然,。一般来说循环内的代码不要超过20
行。
把循环嵌套控制在3 层以内.
void
void表示空类型,void *可以指向任何类型的数据
(1) 对函数返回的限定;
(2) 对函数参数的限定。
void *p1;
int *p2;
p1 = p2; 但是p2=p1则不可以
(1)在编写C 程序时,对于任何函数都必须一个不漏地指定其类型。如果函数没有返回值,一定要声明为void 类型
(2)如果函数无参数,那么应声明其参数为void
**如果函数的参数可以是任意类型指针,那么应声明其参数为void ***
void * memcpy(void *dest, const void *src, size_t len);
void * memset ( void * buffer, int c, size_t num );
这样,任何类型的指针都可以传入memcpy 和memset 中,这也真实地体现了内存操作
函数的意义,因为它操作的对象仅仅是一片内存,而不论这片内存是什么类型。
return
char * Func(void)
{
char str[30];
…
return str;
}
str 属于局部变量,位于栈内存中,在Func 结束的时候被释放,所以返回str 将导致错误。
return 语句不可返回指向“栈内存”的“指针”,因为该内存在函数体结束时被自动销毁。
volatile
和const 一样是一种类型修饰符,用它修饰的变量表示可以被某些编译器
未知的因素更改,比如操作系统、硬件或者其它线程等。遇到这个关键字声明的变量,编
译器对访问该变量的代码就不再进行优化,从而可以提供对特殊地址的稳定访问