ybcsmile 发表于 2022-5-22 14:08:15

有关于指针学习的一些疑惑1

今天学习指针的时候小甲鱼老师讲地址存放所需字节数是相同的,但是我看小甲鱼老师的这张图

地址不是一个字节一个字节存放的吗,int类型就用四个字节存放,char类型就用一个字节存放可为什么小甲鱼老师说编译系统存放地址字节是相同的有些是用4个字节有些是8个字节。

豆嘉木 发表于 2022-5-22 14:18:28

本帖最后由 豆嘉木 于 2022-5-22 14:19 编辑

不同编译系统对同一数据类型存放地址字节是不同的,比如甲编译器对int、char类型分别是4、1字节,乙分别是8、4字节
而同一个编译器对同一数据类型存放地址字节是相同的,比如甲编译器不论在哪一个平台(Windows、linux、mac之类)都是一样的
有帮助的话给个最佳答案谢了!!!{:10_254:}

ybcsmile 发表于 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;
这是为什么不应该是不一样吗

jhq999 发表于 2022-5-22 15:29:24

对齐

豆嘉木 发表于 2022-5-22 15:30:54

ybcsmile 发表于 2022-5-22 14:35
我想再问一下比如我定义了两个指针变量如下:
char *a ='F';
int *f =123;


说明你这个编译器字符型和整型的大小都是4字节

ybcsmile 发表于 2022-5-22 15:55:28

豆嘉木 发表于 2022-5-22 15:30
说明你这个编译器字符型和整型的大小都是4字节

好的谢谢

ybcsmile 发表于 2022-5-22 15:56:03

jhq999 发表于 2022-5-22 15:29
对齐

好的我去了解下,谢谢了

豆嘉木 发表于 2022-5-22 16:20:19

ybcsmile 发表于 2022-5-22 15:55
好的谢谢

不客气不客气{:10_254:}
页: [1]
查看完整版本: 有关于指针学习的一些疑惑1