1、清晰指针的概念
①指针声明语句里的指针名字去掉,剩下的部分就是这个指针的类型。这是指针本身所具有的类型如int*ptr;该指针的类型是int*。
②一个指针的值是XX,就相当于说该指针指向了以XX 为首地址的一片内存区域;我们说一个指针指向了某块内存区域,就相当于说该指针的值是这块内存区域的首地址。指针所指向的内存区和指针所指向的类型是两个完全不同的概念。
2、指针的运算
int*p=a,p++,指针p被加了1,编译器是这样处理的:它把指针ptr 的值加上了sizeof(int),在32 位程序中,是被加上了4,因为在32 位程序中,int 占4 个字节。
3、指针表达式
一个表达式的结果如果是一个指针,那么这个表达式就叫指针表式。
4、数组和指针的关系
数组的数组名其实可以看作一个指针。
int array[10]={0,1,2,3,4,5,6,7,8,9},value;
value=array[0]; //也可写成:value=*array;
value=array[3]; //也可写成:value=*(array+3);
value=array[4]; //也可写成:value=*(array+4);
5、指针的安全性
时刻关注指针指向的地址是否越界,或者存放了其他数据。
详情:https://blog.csdn.net/constantin_/article/details/79575638
网友评论