C++面试题解析:变量声明、数据类型比较和静态关键字

需积分: 43 0 下载量 151 浏览量 更新于2024-07-23 收藏 532KB PDF 举报
C++面试题知识点总结 以下是从给定文件中提取的知识点总结: **变量声明和定义** * 变量声明是指为变量指定名称和类型,但不分配内存空间。 * 变量定义是指为变量分配内存空间和初始化。 * 一个变量可以在多个地方声明,但只能在一个地方定义。 * extern关键字用于修饰变量的声明,表明该变量将在文件以外或文件后面部分定义。 **bool、int、float、指针变量与“零值”比较** * bool型数据:使用if语句直接比较变量的值,如if(flag) {A;} else {B;} * int型数据:使用if语句比较变量的值,如if(0!=flag) {A;} else {B;} * 指针型数据:使用if语句比较指针的值,如if(NULL==flag) {A;} else {B;} * float型数据:使用if语句比较变量的值,如if((flag>=NORM)&&(flag<=NORM)) {A;} else {B;} * 注意:在int、指针型变量和“零值”比较时,应该把“零值”放在左边,以免编译器报错。 **sizeof和strlen的区别** * sizeof是一个操作符,而strlen是一个库函数。 * sizeof的参数可以是数据的类型或变量,而strlen只能以结尾为‘\0‘的字符串作参数。 * sizeof在编译时计算结果,而strlen在运行时计算结果。 * sizeof计算的是数据类型占内存的大小,而strlen计算的是字符串实际的长度。 * 数组作为sizeof的参数不退化,传递给strlen就退化为指针。 **C语言和C++中的static关键字** * 在C语言中,static关键字用于修饰局部静态变量和外部静态变量、函数。 * 在C++中,static关键字用于定义类的成员变量和函数,即静态成员和静态成员函数。 * 注意:编程时static的记忆性和全局性的特点可以让在不同时期调用的函数进行通信,传递信息,而C++的静态成员可以在多个对象实例间进行通信。 这些知识点涵盖了变量声明和定义、数据类型比较、sizeof和strlen的区别、C语言和C++中的static关键字等方面,都是C++面试中常见的问题。