【发布时间】:2011-04-01 00:11:49
【问题描述】:
可能的重复:
Can the Size of Pointers Vary Depending on what’s Pointed To?
Are there are any platforms where pointers to different types have different sizes?
c 中指向 float 的指针的大小是否可能与指向 int 的指针不同?试过了,各种指针的结果都是一样的。
#include <stdio.h>
#include <stdlib.h>
int main()
{
printf("sizeof(int*): %i\n", sizeof(int*));
printf("sizeof(float*): %i\n", sizeof(float*));
printf("sizeof(void*): %i\n", sizeof(void*));
return 0;
}
这里的输出(OSX 10.6 64bit)
sizeof(int*): 8
sizeof(float*): 8
sizeof(void*): 8
我可以假设不同类型的指针具有相同的大小(当然在一个拱上)吗?
【问题讨论】:
-
@kotlinski:有两个布尔问题:标题一个(它们是否不同?)和最后一个(它们相同吗?)。你在回答哪一个?
-
@MSalters:哎呀!最后一个......他们可以改变。
-
1473935 本身就是stackoverflow.com/questions/916051/…的骗子
-
除了
near和far,这是程序员在声明指针时赋予的属性,在这里并不真正适用,旧 Crays 的char*比其他指针大,因为本机内存方案没有解决字节。