gpt4 book ai didi

c - Turbo C 中的 int 指针不应该是 4 个字节吗?

转载 作者:太空宇宙 更新时间:2023-11-04 00:15:28 25 4
gpt4 key购买 nike

在 Turbo C 编译器中,当使用 sizeof() 运算符时,int 指针的大小显示为 2 个字节。现在,如果我打印一个 int 变量的地址,它是一个 8 位的十六进制数,这使得地址的大小为 32 位(或 4 个字节)。

那么,为什么 Turbo 编译器为指针显示 2 个字节大小?

最佳答案

你的程序是在小内存模型下编译的,也就是说你的整个数据空间占用不超过64K的空间。程序启动时,DS寄存器指向该数据空间,因此指针只需16位即可引用数据空间中的任意位置。

在中大内存模型中,数据空间可能大于64K,你会发现你的指针是32位的。

请参阅 Alok 的评论。参见 gcc更换。

关于c - Turbo C 中的 int 指针不应该是 4 个字节吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14159971/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com