指针类型、步长、内存大小

指针类型、步长、内存大小

(1)指针的类型

分清常量指针和指针常量

(2)指针的步长(见第一个测试)

和基本类型相同。

如:

char *p;//步长 = 1byte

int *p;// 步长 = 4byte

(3)指针的内存大小(见测试及说明)

(4)测试

平台:Windows   VC6.0(32位)

指针类型、步长、内存大小_第1张图片

平台:Linux(Ubuntu14.04)  gcc 4.8.5(默认64位)

指针类型、步长、内存大小_第2张图片

说明:指针变量是特殊的变量,要求其内存大小必须能容纳0-maxaddr,也就是说其内存大小应该是由硬件最大寻址能力决定。

如:32位机是4byte,64位机是8byte。

        在两个测试中可以看到,影响指针内存大小的因素有两个:硬件最大寻址能力(多少位机)和编译器的位数(VC6.0是32位条件下测试,gcc4.8.5是64位条件下测试)

你可能感兴趣的:(C)