【发布时间】:2015-10-01 08:49:50
【问题描述】:
附加问题(1 分): 假设我们使用的是 32 位 Windows 操作系统 和 C/C++ 程序。请估计以下的sizeof()(单位:字节)
• char str[] = “Hello” ;
• char *p = str ;
• int n = 10;
Please calculate:
• sizeof ( str ) = __________
• sizeof ( p ) = __________
• sizeof ( n ) = __________
大家好,
我正试图围绕这个 C++ 中相当基本的概念展开思考。我会告诉你我认为正确的答案是什么,看看我是否在正确的轨道上。对于第一个 sizeof(str),我相信它总共是 6 个字节。我注意到其他问题中的一个模式,即这些类型的字符串总是添加 1 个字节。 (5 个字母 +1)。我的问题是,这个“+1”来自什么?至于第二个下来,这只是指指针的大小,p,对吗?哪个总是 4 个字节的大小?最后,第三个,我相信只是指一个 int 的大小,n。据我所知,所有整数的大小都是 4 个字节正确吗?这是否意味着所有整数都是 4 个字节,无论它是 10 还是 10000 或任何其他数字。也非常感谢并张开双臂接受有关此主题的任何其他重要信息!谢谢!
【问题讨论】:
-
第一个是6,后两个取决于实现。
-
对于 32 位 Windows,整数和指针都是 4 个字节。
标签: c++ sizeof string-literals