操作系统内存中指针类型都占用多少内存空间

经过查阅资料和实验得出结论

因为内存是由字节组成的,每个字节都有一个地址编号。指针变量主要是存放相同数据类型的变量的首地址,这里的地址就是指内存中某个字节的编号,而这个编号的确定是由地址总线决定的,操作系统的位数决定了指针变量所占的字节数。如果是32位操作系统,也就是地址总线是32位,则它的寻址范围就是02^32(04GB),所以每一个字节的编址就会由32个0或者1组成。
例:第1个字节的编址是32个0,最后1个的编址是32个1。一个字节有8位,32位则需要4个字节。

在不同操作系统中指针大小结论
(1)在32位操作系统下,指针是占4个字节空间大小,不管是什么数据类型
(2)在64位操作系统下,指针是占8个字节空间大小,不管是什么数据类型

结论证明
32位操作系统

    cout <<"sizeof(int *)占用地址空间为:" << sizeof(int*) << endl;
	cout << "sizeof(double *)占用地址空间为:" << sizeof(double *) << endl;
	cout << "sizeof(float *)占用地址空间为:" << sizeof(float *) << endl;
	cout << "sizeof(char *)占用地址空间为:" << sizeof(char *) << endl;

请添加图片描述
64位操作系统

cout <<"sizeof(int *)占用地址空间为:" << sizeof(int*) << endl;
	cout << "sizeof(double *)占用地址空间为:" << sizeof(double *) << endl;
	cout << "sizeof(float *)占用地址空间为:" << sizeof(float *) << endl;
	cout << "sizeof(char *)占用地址空间为:" << sizeof(char *) << endl;

请添加图片描述

  • 9
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值