这里主要讲指针修饰符,推导处所有修饰符的使用方法
先介绍下内存的分布,内存可以看做是有变量名,变量名地址和变量值组成的3部分,其实变量名和变量地址可以看成一个东西
先从最简单的开始看把
int p
这句话声明了一个变量名p,变量名p的值(往左移动是数据类型),变量值是int的数据类型
再看单一指针
int *p
这句话声明了一个变量名p,变量名p的值(往左移动是修饰符),变量值是地址类型,值设为a。这个地址指向的内存单元的地址是a(可以看成变量名是a),这个a的数据类型是int类型的
再看双重指针
int **p
这句话声明了一个变量名p,变量名p的值(往左移动是修饰符),变量值是地址类型,值设为a。这个地址指向的内存单元的地址是a(可以看成变量名是a),这个a的数据类型是地址的,又因为(*p)前面还有个*,所以这地址是值也是一个地址,设为地址b把,那么地址b指向的数据类型是int类型的
上面要是看不懂的话,看图最简单了
EOF