c++ - 了解 char 指针数组的大小

标签 c++ c

char * names[] = {
              "Sleepy",
              "Dopey" "Doc",
              "Happy",
              "Grumpy" "Sneezy",
              "Bashful",
};

sizeof(names) 结果为 40。

但从逻辑上讲,sizeof 计算的是字符串长度加上空字符。为什么尺寸是 40?

最佳答案

您的数组包含五个指针,在您的平台上 sizeof(char*)8 - 所以 5*8 = 40。

关于c++ - 了解 char 指针数组的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23810203/

相关文章:

c++ - 带有线程的 deque::push_back react 异常

c - 当我在 C 中运行 for 循环时,程序停止响应

c++ - 系统托盘上下文菜单不会消失

c - unsigned 和 int 陷阱

c - linux 覆盖正在运行的二进制文件

c - 为什么我们不能将字符串复制到字符指针,而我们可以直接将字符串分配给它?

c - 为什么 SIGINT 停止 sleep 不止一次?

c++ - 如何在另一个QVector <QVector <T> *>中动态存储QVector <T>的地址?

c++ - 为什么在我显示无模式对话框后隐藏了选择?

c++ - 关于 C 与 C++ 中的结构变量声明