指针类型、步长、内存大小
指针类型、步长、内存大小
(1)指针的类型
分清常量指针和指针常量
(2)指针的步长(见第一个测试)
和基本类型相同。
如:
char *p;//步长 = 1byte
int *p;// 步长 = 4byte
(3)指针的内存大小(见测试及说明)
(4)测试
平台:Windows VC6.0(32位)
平台:Linux(Ubuntu14.04) gcc 4.8.5(默认64位)
说明:指针变量是特殊的变量,要求其内存大小必须能容纳0-maxaddr,也就是说其内存大小应该是由硬件最大寻址能力决定。
如:32位机是4byte,64位机是8byte。
在两个测试中可以看到,影响指针内存大小的因素有两个:硬件最大寻址能力(多少位机)和编译器的位数(VC6.0是32位条件下测试,gcc4.8.5是64位条件下测试)