中兴笔试题目解析:常量定义、宏编程与 sizeof 示例
需积分: 7 135 浏览量
更新于2024-09-11
收藏 69KB DOC 举报
本资源主要涉及中兴公司的笔试题目,包括编程语言基础和数据结构方面的内容。首先,提到了如何使用预处理指令`#define`来声明常量,例如定义一个表示一年总秒数(假设不考虑闰年)的常量,需要注意在16位机上使用无符号长整型`UL`避免溢出问题:
```markdown
知识点1: `#define` 常量声明
在C/C++编程中,`#define` 用于定义预处理器宏,如:
```cpp
#define SECONDS_PER_YEAR (60*60*24*365) UL
这定义了一个常量,表示一年中的总秒数,使用`UL`确保在16位机器上不会发生整型溢出。
其次,资源中介绍了一个基础的宏定义`MIN`,用于返回两个参数中的较小值,注意括号的使用以确保正确优先级:
```cpp
#define MIN(A, B) ((A) <= (B) ? (A) : (B))
宏定义中括号用于明确参数的顺序和优先级。
接着,涉及到`sizeof`运算符的应用,题目展示了不同类型的变量(字符指针、字符数组、整型数组以及结构体)的内存占用情况:
- `char* ss1` 和 `char q1` 是指针,它们占用固定大小(通常是4个字节),而实际存储的字符串长度取决于具体内容。
- `char ss2[]` 和 `char ss3[]` 是字符数组,`ss2` 的大小取决于初始化的字符串长度加终止符,`ss3` 按照预分配的100个字符计算。
- 数组 `int ss4` 和 `char q2` 以其元素类型决定大小,`ss4` 占4个字节/元素,`q2` 同样考虑字符数量及隐含的终止符。
- 结构体 `class A`, `class A2`, `struct B`, `struct C`, `struct D` 的大小由内部成员决定,`main` 中的输出展示了这些类型的大小。
最后,给出了一个程序代码示例,展示了不同类型对象在内存中的占用大小,以及动态分配的对象和静态对象的区别。`sizeof` 运算符在这里用于计算它们在内存中的实际尺寸。
通过这部分内容,考生可以复习基本的宏定义技巧,数据类型和内存管理,以及C++语言的 sizeof 操作。对于准备中兴笔试的人来说,这是一份实用且重要的复习资料。
2021-04-19 上传
2019-01-20 上传
2022-09-24 上传
2021-10-01 上传
2021-10-03 上传
2013-05-09 上传
2022-07-20 上传
tiny_xzh
- 粉丝: 0
- 资源: 1
最新资源
- Raspberry Pi OpenCL驱动程序安装与QEMU仿真指南
- Apache RocketMQ Go客户端:全面支持与消息处理功能
- WStage平台:无线传感器网络阶段数据交互技术
- 基于Java SpringBoot和微信小程序的ssm智能仓储系统开发
- CorrectMe项目:自动更正与建议API的开发与应用
- IdeaBiz请求处理程序JAVA:自动化API调用与令牌管理
- 墨西哥面包店研讨会:介绍关键业绩指标(KPI)与评估标准
- 2014年Android音乐播放器源码学习分享
- CleverRecyclerView扩展库:滑动效果与特性增强
- 利用Python和SURF特征识别斑点猫图像
- Wurpr开源PHP MySQL包装器:安全易用且高效
- Scratch少儿编程:Kanon妹系闹钟音效素材包
- 食品分享社交应用的开发教程与功能介绍
- Cookies by lfj.io: 浏览数据智能管理与同步工具
- 掌握SSH框架与SpringMVC Hibernate集成教程
- C语言实现FFT算法及互相关性能优化指南