C:小技巧集合
1.__func__的使用
可以表示函数名
例如
void f(void)
{
printf("%s\n",__func__); //打印f
}
int main()
{
f();
printf("%s\n",__func__); //打印main
}
2.p->的使用
p->等同于(*p).
struct date
{
int month;
int year;
int day;
};
int main()
{
struct date today;
struct date *p = &today;
// (*p).month = 12;
p->month = 12;
3.全局变量与本地变量
①如果在有全局变量的情况下,函数又定义了相同的变量,此时全局变量隐藏
②static的使用,静态本地变量,可以让本地变量离开之后,下次仍然有效(全局生存期,本地作用域) (静态本地变量其实就是全局变量,地址都是挨在一起的)
void f(void)
{
static i = 10;
i++;
printf("%d\n",i);
}
int main()
{
f();
f();
}
此时输出的是11 12
错误的做法
理解全局生存期,本地作用域
③不要返回本地变量的地址
4.动态分配内存,定义指针(数组)的时候先初始化为0
int * p = 0;
因为free( )只能传入原来定义的指针(地址),如果malloc失败,则传入0,程序仍然正常
不可以malloc之后,对p做p++,还希望通过free(p)释放空间,因为p此时指针指向的地址发生了变化
5.循环终止条件
对于整型 while(i !=0)
对于指针while(pTemp != NULL)
posted on 2019-05-12 15:47 zhaoy_shine 阅读(123) 评论(0) 编辑 收藏 举报