03 - C/C++指针的类型以及所占空间大小的解释(Ⅰ)

  •  观察指针变量的大小

    03 - C/C++指针的类型以及所占空间大小的解释(Ⅰ)_第1张图片

程序运行结果来看:尽管变量类型的大小不同,但是指向它们的指针变量的大小相同,且均占用4个字节。

在进行变量声明的时候将:

(short*  ptr_a) 这种写法(即将*号紧挨short)理解为:指向short型变量的指针。

  • 为什么指针变量占4个字节?

    绝大多计算机将字节作为最小的可寻址的内存空间,内存的每一个字节都由一个唯一的数字来标识,称为它的地址。

   由此我们可以这样粗略的理解:四个字节所储存数值的大小可以表示计算机虚拟空间地址的范围。

    4 Byte所能代表的最大数值为:(unsigned 4 byte) = 2^32 = 4,294,967,296

    则4 Byte正好可以表示计算机内4,294,967,296个地址,每个地址内存为1Byte,内存总大小正好等于

    4GB = 4 * 1024 MB = 4 * 1024 * 1024 KB = 4 * 1024 * 1024 * 1024 Byte =  4,294,967,296 Byte.

  • 每个字节都有唯一地址,那么一个int型的数据地址不是由四个地址共同组成的么?

    

    

你可能感兴趣的:(03 - C/C++指针的类型以及所占空间大小的解释(Ⅰ))