指针是一个特殊的变量,它里面存储的数值被解释成为内存(用户空间的虚拟内存)里的一个地址。
一、指针的属性
一个指针包含四个方面的内容:指针的类型、指针所指向的类型、指针所指向的内存区、指针本身所占据的内存区。
接下来就下面几个例子作说明:
1、 int *p;
2、 char *p;
3、 int **p;
4、 int (*p)[3];
5、 int *(*p)[4];
1.1、指针的类型
从语法的角度,只要把指针声明语句里的指针名字去掉,剩下的部分就是这个指针的类型,即指针本身所具有的类型。
插播:指针类型说明原则:从变量名处起,根据运算符优先级结合,一步一步分析。
1.2、指针所指向的类型
通过指针来访问指针所指向的内存区时,指针所指向的类型决定了编译器将把那片内存区里的内容当做什么看待,简而言之,就是编译器会在内存中预留出多大的内存空间给这个指针