C/C++面试精华:变量声明、比较、sizeof与strlen、static解析
需积分: 15 41 浏览量
更新于2024-07-06
1
收藏 804KB PDF 举报
"50个C语言C++常见面试题及答案.pdf"
本文将深入探讨C语言和C++中的一些核心概念,通过四个常见的面试问题来解析这些知识点。
面试题1涉及变量的声明与定义。在C/C++中,声明(declaration)主要用于告知编译器变量的类型和名称,而不分配内存空间。而定义(definition)则是实际为变量分配内存并初始化的过程。例如,一个变量可以在头文件中声明,然后在源文件中定义,这样就可以在多个源文件之间共享。extern关键字用于声明一个变量在其他地方已定义,但并不分配新的内存。
面试题2讨论了不同数据类型的条件判断。在bool型中,可以直接用flag作为条件,因为非零值被视为true,零值被视为false。对于int型,为了避免赋值操作符误写为比较操作符,推荐使用`0!=flag`。指针变量与NULL的比较也是同样的道理,应当将NULL放在左边。对于float型,需要确保数值在特定范围内,通常会用到浮点数的正常值(NORM)。
面试题3比较了sizeof和strlen的功能。sizeof是编译时操作符,返回一个类型或变量所占用的内存字节数,而strlen是运行时函数,用于计算以'\0'结束的字符串的长度。sizeof可以用于数组,即使在数组作为参数时也不会退化为指针,而strlen接收的是字符串指针。
面试题4提到了static关键字在C和C++中的差异。在C语言中,static用于创建静态局部变量(其生命周期贯穿整个程序执行,而非仅限于函数调用),静态外部变量(限制变量的作用域,只在其定义的源文件内可见),以及静态函数(不允许被其他文件链接)。而在C++中,static关键字还可以用于创建类的静态成员变量和函数,这些成员对所有类的对象来说是共享的,不受对象实例的影响。
总结这些面试题,我们可以看到C/C++语言中的基本元素,如变量声明与定义、数据类型比较、内存管理操作符和关键字的作用。掌握这些基础知识对于理解和编写高效、可靠的C/C++代码至关重要。在面试中,理解并能正确应用这些概念不仅展示了扎实的编程功底,也能体现对程序设计原则的理解和尊重。
460 浏览量
点击了解资源详情
点击了解资源详情
339 浏览量
2021-10-10 上传
2021-09-27 上传
2011-05-29 上传
*balance
- 粉丝: 996
- 资源: 2
最新资源
- 导入和读取 Excel 文件:使用 ActiveX 将 Excel 数据导入工作区的自定义且灵活的功能。-matlab开发
- bguerel:本努尔·古雷尔
- cachlamhay
- devopstools.guthub.io
- makehuman-0.8_beta_src.tar.gz
- 新浪微博小助手 龙网新浪微博小助手 v9.7
- intro-to-java-workshop-Jayh80961:GitHub教室创建的java-workshop-Jayh80961简介
- 行业分类-设备装置-一种承坐式万向运动平台.zip
- tensorscript:移至https
- CV
- 协程:学校Opdracht
- 基于神经网络的图像分类和bp算法 matlab实现 图像分类.zip
- bw-ssh-docs:Bitwarden SSH管理器文档
- 行业分类-设备装置-一种接地电容的RC常数测量方法.zip
- lin_interp(T, var_name, TBDx):内插表值-matlab开发
- 强制粘帖0.2.zip