1.指针是一种用于存放另一个变量地址的变量
2.对一个NULL指针进行解引用操作是非法的,在对指针进行解引用操作之前,你首先必须确保它并非NULL指针
3.如果你已经知道指针将被初始化为什么地址,就把它初始化为该地址,否则就把它初始化为NULL
4.既然指针里存储的是地址常量,也就是整型数,所以*100=25貌似是把100地址的内存存入整数25,实际是错误的表达方式,应该先强制转换为指针类型 ,
*(int *)100=25
5.一些比较容易混淆的表达式:
*(cp+1)
++cp
cp++
*++cp
*cp++
++*cp
(*cp)++
++*++cp
++*cp++
6.指向同一数组的指针是可以进行关系运算的 > < >= <=,考虑如下表达式
for(vp=&value[N];vp>&value[0];vp--)
*vp=0;
乍一看貌似没什么问题,但是最后一次结束循环的比较的时候vp已经越界了,这样的比较是未定义的。
本文详细解析了指针的基本概念,包括如何正确初始化指针、指针的解引用操作注意事项、以及常见混淆的表达式。同时,文章强调了在进行关系运算时可能存在的边界问题,帮助开发者避免常见的编程陷阱。

被折叠的 条评论
为什么被折叠?



