C/C++面试重点:声明与定义的区别、变量比较、sizeof与strlen、static的作用
4星 · 超过85%的资源 需积分: 15 179 浏览量
更新于2024-07-26
2
收藏 1.05MB PDF 举报
"C、C++面试题.pdf包含了一些经典的面试问题,主要涉及变量的声明与定义的区别,数据类型的比较,sizeof与strlen的区别,以及C和C++中关键字static的不同用法。"
在C和C++编程中,理解变量的声明和定义至关重要。声明变量主要是告诉编译器变量的存在,但并不分配内存空间。例如,当我们在一个源文件中声明一个变量并加上extern关键字,这表示变量在其他地方定义。变量只能被定义一次,通常在定义时分配内存空间。如果变量未初始化,其内存将包含不确定的值,对于外部变量,它们的内存是在程序链接时分配的。
面试题2探讨了不同数据类型与“零值”比较时的if语句。对于bool型,只需判断其是否为真即可;对于int型,为了避免赋值操作符“=”的误用,建议将零值放在比较操作符的一侧;对于指针,NULL与之比较确保指针不为空;对于float型,需确保值在特定范围内,防止浮点数的精度问题导致错误。
sizeof和strlen是两个不同的概念。sizeof是C/C++中的操作符,它在编译时就能计算出表达式或类型所占内存的字节数,不论该变量是否已初始化。而strlen是一个C库函数,用于计算以'\0'结尾的字符串的长度,它在运行时计算,且仅适用于字符串。
面试题4涉及到static关键字的使用。在C中,static用于创建局部静态变量(在函数内,只初始化一次,且在函数结束后保留其值)和外部静态变量(作用域限制于当前文件)。而在C++中,static还可以应用于类的成员,创建静态成员变量(所有对象共享同一份存储)和静态成员函数(不与特定对象关联,可以直接通过类名调用)。
了解这些基础知识对于C和C++开发者来说非常重要,它们不仅有助于编写更有效的代码,也是面试中常见的考察点。掌握声明与定义的区别、正确的数据类型比较方式、sizeof和strlen的使用场景,以及static的关键字特性,能帮助开发者写出更健壮、更具可维护性的代码。
2140 浏览量
点击了解资源详情
点击了解资源详情
2021-09-30 上传
2021-10-06 上传
210 浏览量
1261 浏览量
2021-11-17 上传
2021-10-10 上传
wangmin900
- 粉丝: 0
- 资源: 1
最新资源
- react-window-ui:React组件用于快速演示窗口UI
- Business-Buddy:Business Buddy是CRM(客户关系管理)软件,可帮助公司的销售团队与潜在客户取得联系
- 行业分类-设备装置-一种接口性能数据实时监制方法和装置.zip
- homebridge-tcc:霍尼韦尔对Homebridge的Total Connect Comfort的支持
- Persepolis-WebExtension:用于Persepolis下载管理器的WebExtension集成
- 带adb插件的notepad++
- 行业分类-设备装置-一种接收天线阵列受损阵元的在线检测方法.zip
- 北航计组实验代码、电路(一).rar
- openrmf-docs:有关OpenRMF应用程序的文档,包括用于运行整个堆栈的脚本以及仅基础结构以及有关使用该工具的文档
- IEEE 30 总线系统标准:Simulink 中的 30 总线系统设计-matlab开发
- 行业分类-设备装置-一种接枝改性壳聚糖微球及其制备方法和应用.zip
- OM-128:ATmega1284开发板
- rohitprogate
- 进销存软件 小管家进销存软件 v5.5.11
- anroid8.1编译使用OpenJDK.tar.zip
- oSportServer