一:引入
指针变量的大小与指针变量类型是无关的,而与平台有关,在32位下:指针变量占4个字节,在64位下:指针变量占8个字节。
那么指针变量类型有什么用途,有什么意义吗?
二:指针的解引用
比较代码1和代码2,发现int指针会将n的4个字节全部变成0;而代码2只将第一个字节变为0。
所以指针类型是有意义的,指针类型决定了指针在解引用时,操作的权限,也就是一次解引用访问几个字节。int类型的指针一次解引用访问4个字节,而char*类型的指针一次解引用访问1个字节。
三:指针±整数
可以看出char类型的指针+1跳过一个字节;int类型的指针+1跳过4个字节。
所以指针类型决定了指针在进行+1/-1操作时一次跳过几个字节。