C语言里指针指不论指向任何变量它自身都只占4个字节为什么?
8个回答
展开全部
指针存放的是内存地址.
内存地址多少位,是由编译器决定的.
编译器如果是32位的,那么地址就是4字节.
如果是64位的,那么就是八字节.
不会因为存放数据类型的不同而变化.
就像家里的门牌号, 不管家里住多少人, 是别墅还是平房, 门牌号都是街道统一规定的.
内存地址多少位,是由编译器决定的.
编译器如果是32位的,那么地址就是4字节.
如果是64位的,那么就是八字节.
不会因为存放数据类型的不同而变化.
就像家里的门牌号, 不管家里住多少人, 是别墅还是平房, 门牌号都是街道统一规定的.
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这是编译器决定的,和int,char,long占几个字节一样。
在dos系统的TC编译器下就有2字节的指针,
在32位windows操作系统(XP,win7 32位)VC编译器下(最常用的环境)指针就是4个字节;
在64位windows(win7 64)的 VC(x64设置)下有8个字节的指针
在dos系统的TC编译器下就有2字节的指针,
在32位windows操作系统(XP,win7 32位)VC编译器下(最常用的环境)指针就是4个字节;
在64位windows(win7 64)的 VC(x64设置)下有8个字节的指针
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
指针自己也是一个变量 只不过这个变量代表着一块内存地址。
因为32位系统地址宽度为4个字节。为了表示地址,指针长度就是32位
因为32位系统地址宽度为4个字节。为了表示地址,指针长度就是32位
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
一个指针变量在内存中占两个字节(small模式编译)
一个指针变量在内存中占四个字节(32位机器上)
一般都是32位机器的,所以四个字节咯。
一个指针变量在内存中占四个字节(32位机器上)
一般都是32位机器的,所以四个字节咯。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询