C/C++面试必备:变量声明与定义、条件判断、sizeof与strlen、static关键字解析
需积分: 43 152 浏览量
更新于2024-07-23
收藏 532KB PDF 举报
“这是一份关于C和C++面试题的集合,主要涵盖了变量声明与定义的区别、不同类型数据与零值比较的if语句、sizeof和strlen的区别以及C和C++中关键字static的不同用法。”
在C和C++编程中,理解和掌握这些基本概念对于面试和实际开发至关重要。
1. 变量的声明与定义:
- 声明变量主要是告诉编译器变量的名称、类型和作用域,但并不分配存储空间。例如,`extern int x;` 只是声明了变量x,而未分配内存。
- 定义变量则是在内存中为变量分配空间并初始化,例如,`int x = 10;` 这既是声明也是定义。
- 多次声明同一个变量是允许的,但多次定义是非法的。如果在多个文件中使用同一个变量,通常会在一个文件中定义,在其他文件中使用extern声明。
2. 数据与零值比较的if语句:
- 对于bool型,直接使用 `if(flag)` 即可。
- 对于int型,使用 `if(0 != flag)` 避免将"="误写成"=="。
- 对于指针型,使用 `if(NULL == flag)`,同样是为了防止混淆赋值和比较。
- 对于float型,应确保比较范围,例如 `(flag >= NORM) && (flag <= NORM)`。
3. sizeof与strlen的区别:
- sizeof是编译时操作符,返回变量或类型的大小,如 `sizeof(int)` 或 `sizeof(array)`。
- strlen是运行时函数,用于计算以'\0'结尾的字符串的长度,如 `strlen("hello")`。
- sizeof对数组不退化,始终返回数组的总字节数,而strlen接收的是字符指针,无法获取原始数组信息。
4. 关键字static的差异:
- 在C中,static用于创建静态局部变量(仅在函数内部初始化一次,保留其状态),静态外部变量(限制变量的作用域在当前文件)和静态函数(限制函数的可见性在当前文件)。
- 在C++中,static增加了静态成员变量(属于类而非特定对象,所有对象共享)和静态成员函数(不依赖于对象实例,可以直接通过类名调用)的功能。这使得静态成员可以作为类级别的变量和方法,而非特定对象的属性。
掌握这些基本概念对于编写高效、可靠的C和C++代码至关重要,它们也是面试中常见的考点。深入理解这些知识点不仅能帮助你在面试中脱颖而出,还能在实际编程中避免许多常见错误。
2024-01-18 上传
2021-10-03 上传
2008-10-27 上传
2022-01-27 上传
2015-12-29 上传
2021-09-28 上传
2022-09-23 上传

sy154288417
- 粉丝: 0
- 资源: 2
最新资源
- Material Design 示例:展示Android材料设计的应用
- 农产品供销服务系统设计与实现
- Java实现两个数字相加的基本代码示例
- Delphi代码生成器:模板引擎与数据库实体类
- 三菱PLC控制四台电机启动程序解析
- SSM+Vue智能停车场管理系统的实现与源码分析
- Java帮助系统代码实现与解析
- 开发台:自由职业者专用的MEAN堆栈客户端管理工具
- SSM+Vue房屋租赁系统开发实战(含源码与教程)
- Java实现最大公约数与最小公倍数算法
- 构建模块化AngularJS应用的四边形工具
- SSM+Vue抗疫医疗销售平台源码教程
- 掌握Spring Expression Language及其应用
- 20页可爱卡通手绘儿童旅游相册PPT模板
- JavaWebWidget框架:简化Web应用开发
- 深入探讨Spring Boot框架与其他组件的集成应用