c++ - sizeof(some pointer) 是否总是等于四?

标签 c++ c pointers memory sizeof

例如: sizeof(char*) 返回 4。正如 int*long long* 以及我尝试过的所有内容一样。有没有异常(exception)?

最佳答案

您得到的保证是 sizeof(char) == 1。没有其他保证,包括不保证 sizeof(int *) == sizeof(double *).

实际上,在 16 位系统上,指针大小为 2(如果你能找到的话),在 32 位系统上为 4,在 64 位系统上为 8,但是依靠在给定的尺寸上。

关于c++ - sizeof(some pointer) 是否总是等于四?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/399003/

相关文章:

c++ - 构造函数c++中指向不同类的指针初始化

c++ - 命令在终端中工作,但不是通过 QProcess

c - 使用 gethostbyname 时出现段错误

c - 为什么在函数内部调用时 malloc 返回空指针?

json - json.Unmarshal() 如何工作以及它如何存储在变量中?

C 使用指针访问不同文件中的结构 - 取消引用指向不完整类型的指针

c++ - Qt Creator 如何运行 SUBDIRS 项目

c++ - 对齐访问数组元素

c++ - 错误 : cannot convert 'double (evaluator::*)(double, double)' to 'double (*)(double, double)' in assignment

c - 对 'readline' - C 的 undefined reference