#include<stdio.h>
int main()
{
printf("%d\n",sizeof(char *));
return 0;
}
内存4G,所以2^2 * 2^30= 2^32(B);
一个内存地址表示一个字节;
所以要想表示完所有的内存地址,需要2^32个数,
一个字节8bit,4个字节就有32bit,可以提供2^32个数
所以指针类型变量所占字节数为4;
前几天看了同学8G的内存,但指针变量类型还是4个字节,所以上面的纯属巧合
我们程序中操作内存时使用的是虚拟地址。操作系统负责将虚拟地址映射到物理地址;
所以虚拟地址应该是4g,但是实际的内存是多少就不一定了