鱼C论坛

 找回密码
 立即注册
查看: 1622|回复: 7

[已解决]有关于指针学习的一些疑惑1

[复制链接]
发表于 2022-5-22 14:08:15 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
今天学习指针的时候小甲鱼老师讲地址存放所需字节数是相同的,但是我看小甲鱼老师的这张图
K05{HRM_`VD~@B)~%B_W4{B.png
地址不是一个字节一个字节存放的吗,int类型就用四个字节存放,char类型就用一个字节存放可为什么小甲鱼老师说编译系统存放地址字节是相同的有些是用4个字节有些是8个字节。
最佳答案
2022-5-22 15:30:54
ybcsmile 发表于 2022-5-22 14:35
我想再问一下比如我定义了两个指针变量如下:
char *a ='F';
int *f =123;

说明你这个编译器字符型和整型的大小都是4字节
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-5-22 14:18:28 | 显示全部楼层
本帖最后由 豆嘉木 于 2022-5-22 14:19 编辑

不同编译系统对同一数据类型存放地址字节是不同的,比如甲编译器对int、char类型分别是4、1字节,乙分别是8、4字节
而同一个编译器对同一数据类型存放地址字节是相同的,比如甲编译器不论在哪一个平台(Windows、linux、mac之类)都是一样的
有帮助的话给个最佳答案谢了!!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-5-22 14:35:39 | 显示全部楼层
豆嘉木 发表于 2022-5-22 14:18
不同编译系统对同一数据类型存放地址字节是不同的,比如甲编译器对int、char类型分别是4、1字节,乙分别是8 ...


我想再问一下比如我定义了两个指针变量如下:
char *a ='F';
int *f =123;
在打印他们的大小
printf("sizeof pa = %d\n",sizeof(pa));
printf("sizeof pb = %d\n",sizeof(pb));
结果都是8;
这是为什么不应该是不一样吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-5-22 15:29:24 | 显示全部楼层
对齐
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-5-22 15:30:54 | 显示全部楼层    本楼为最佳答案   
ybcsmile 发表于 2022-5-22 14:35
我想再问一下比如我定义了两个指针变量如下:
char *a ='F';
int *f =123;

说明你这个编译器字符型和整型的大小都是4字节
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-5-22 15:55:28 | 显示全部楼层
豆嘉木 发表于 2022-5-22 15:30
说明你这个编译器字符型和整型的大小都是4字节

好的谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-5-22 15:56:03 | 显示全部楼层

好的我去了解下,谢谢了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-5-22 16:20:19 | 显示全部楼层

不客气不客气
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-30 04:09

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表