对不起这个问题,更像是一般文化(没有找到准确的答案)。
如果我有类似
的话char * Field
或
void * Field
或
double pointers
假设C中的示例(我很容易相信它对于不能直接处理指针的其他语言也是一样的)
答案 0 :(得分:3)
指针的大小是一样的吗? (据我所知,从大学开始,它只有4个字节但是......)
不一定相同,不一定是4个字节:Are all data pointers the same size in one platform for all data types?
指针的大小是否相同,具体取决于CPU的体系结构?
它从建筑到建筑都有所不同。即使在相同的硬件上,它也可能因操作系统而异(例如32位与64位)。
如果我指向一个数据结构,指针本身的大小是一样的,不是吗?
同样,不一定:Are all data pointers the same size in one platform for all data types?
答案 1 :(得分:1)
是的,指针的大小不依赖于它指向的数据类型。 编辑:显然不正确。见aix的答案。
指针大小可能取决于CPU,内存模型,运行时和/或操作系统。
同样,指针的大小不依赖于它指向的数据类型。 编辑:显然不正确。见aix的答案。
您可以使用sizeof()构造轻松找出指针的大小。
答案 2 :(得分:0)
在大多数系统中,指针的大小相同,但C不保证。它只是保证void*
足够宽以包含每个指针类型(指向函数的指针除外)。是的 - 这取决于CPU。 (在64位系统中,指针通常是8个字节)
答案 3 :(得分:0)
1)指针的大小对于所有指针类型都是相同的。
2)通常在32位架构上它将是4个字节,而在64位架构上它将是8个字节。
3)无论你指向什么,指针的大小都是相同的。