永发信息网

C语言里指针指不论指向任何变量它自身都只占4个字节为什么?

答案:7  悬赏:10  手机版
解决时间 2021-02-18 00:55
C语言里指针指不论指向任何变量它自身都只占4个字节为什么?
最佳答案
指针存放的是内存地址.
内存地址多少位,是由编译器决定的.
编译器如果是32位的,那么地址就是4字节.
如果是64位的,那么就是八字节.
不会因为存放数据类型的不同而变化.
就像家里的门牌号, 不管家里住多少人, 是别墅还是平房, 门牌号都是街道统一规定的.
全部回答
因为存储地址只要四个字节,地址就是个数字,所以四个字节就可以
pc主板地址总线32位 32位几个字节
指针存放的是一个内存地址,32位系统中一个地址的长度为32位,所以一个指针的大小也是32位,即4字节
这是编译器决定的,和int,char,long占几个字节一样。
在dos系统的TC编译器下就有2字节的指针,
在32位windows操作系统(XP,win7 32位)VC编译器下(最常用的环境)指针就是4个字节;
在64位windows(win7 64)的 VC(x64设置)下有8个字节的指针
对啊
指针是存放地址用滴。。

打个比方,你要寄一封信,得写邮政编码吧。。
现在咱中国都用6个数字来代表一个县。。

好嘞,明白了吧,你声明一个指针的过程就相当于要一个信封,让指针指向变量的过程就像在信封上写上邮编。。让它来指向一个县。

至于你问为啥指针总占4个字节,就相当于在问我国邮政编码怎么是6位啊。。
因为是特么国家规定的。。无论你的邮编指向哪个县(对应指针指向变量),信封上的6个框框总不会变把。,
指针自己也是一个变量 只不过这个变量代表着一块内存地址。
因为32位系统地址宽度为4个字节。为了表示地址,指针长度就是32位
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
英国南安普顿大学的MSc Management Science a
杨家挂面在哪里啊,我有事要去这个地方
从盐池到聊城做火车怎么走
作文 预防春季传染病
(14分)阅读下列材料,回答相关问题材料一工
岜围怎么去啊,有知道地址的么
胖AP和瘦AP进行企业级WLAN组网的区别
四君子汤可以每天都喝吗
想问问肇庆体育中心游泳馆和端州游泳馆的水质
格力 kfr-72lw/fnab-a3 3匹 立柜式怎么样
约瑟芬皇后孩子
唐家垭豁在哪里啊,我有事要去这个地方
计算题:试计算CO浓度为80mg/m3,相当于多少p
我有三个女儿,老婆还要生个儿子
教军场村在哪里啊,我有事要去这个地方
推荐资讯
世纪华联别有天百货商店地址有知道的么?有点
寻味阁地址在哪,我要去那里办事
春明收藏地址在哪,我要去那里办事
宜人贷写了QQ邮箱密码直接QQ被盗怎么办
荒岛求生一堆碎布有什么用
陕西祥泰建筑工程检测有限公司在什么地方啊,
患者男,32岁,因“腹痛、腹泻10d”来诊。排
蚂蚁借呗怎么开通,我信用度637
双鱼座发火
大家好,昨天晚上吧台式电脑所有的插线都拔了
引拔槽楔是用什么机器做的
云南旅游百事通国际旅行社有限公司锦悦四季门
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?