C++Primer第五版 4.9节练习
2015-09-14 17:04
399 查看
练习4.28:编写一段程序,输出每一种内置类型所占空间的大小。
答案:见云盘程序
练习4.29:推断下面代码的输出结果并说明理由。实际运行这段程序。结果和你想象的一样吗?如果不一样,为什么?
练习4.30:根据4.12节中的表(第147页),在下述表达式的适当位置加上括号,使得加上括号之后表达式的含义与原来的含义相同。
答
练习4.28
练习4.29
答案:见云盘程序
练习4.29:推断下面代码的输出结果并说明理由。实际运行这段程序。结果和你想象的一样吗?如果不一样,为什么?
int x[10]; int *p = x; cout << sizeof(x)/sizeof(*x) << endl; //数出10 即x的元素个数 cout << sizeof(p)/sizeof(*p) << endl;//输出为1 sizeof(p)即算出指针p的大小,而非指向的数//组大小,指针实际上在这里没有被实际使用 答案:与预期一样
练习4.30:根据4.12节中的表(第147页),在下述表达式的适当位置加上括号,使得加上括号之后表达式的含义与原来的含义相同。
(a) sizeof x+y (b) sizeof p->men[i] (c) sizeof a < b (d) sizeof f()
答
(a) sizeof (x+y) (b) sizeof (p->men[i]) (c) sizeof (a<b) (d) sizeof (f())
练习4.28
/*内置类型实在太多,列举常见的几个输出大小*/ #include<iostream> using namespace std; int main() { cout << sizeof(int) << endl; cout << sizeof(double) << endl; cout << sizeof(float) << endl; cout << sizeof(char) << endl; cout << sizeof(bool) << endl; return 0; }
练习4.29
#include <iostream> using namespace std; int main() { int x[10]; int *p = x; cout << sizeof(x)/sizeof(*x) << endl; cout << sizeof(p)/sizeof(*p) << endl; return 0; }
相关文章推荐
- c++11——type_traits 类型萃取
- C++Primer第五版 4.8节练习
- C语言easy忽视的细节(第四部分)
- C++Primer第五版 4.7节练习
- C++ <递归求一个数的N次方(仅限一个数的正数次方)>
- 个人笔记C/C++调用java
- C++Primer第五版 4.6节练习
- C++Primer第五版 4.4节练习
- 项目1-c/c++语言中函数参数传递的三种方式
- C/C++程序员面试宝典-2
- C++Primer第五版 4.3节练习
- C/C++程序员面试宝典-1
- C++Primer第五版 4.2节练习
- C++Primer第五版 4.1.3节练习
- 第三周 项目1 - 顺序表的基本运算
- Implement strStr()
- C++拷贝构造函数(深拷贝,浅拷贝)
- 第2周项目2 程序的多文件组织
- 浅析C++中的函数与指针
- 基因数据压缩算法(ACTG) C++