C/C+经典面试题(面试必备)面试题 1:变量的声明和定义有什么区别为变量分配地址和存储空间的称为定义,不分配地址的称为声明。一个变量可以在多个地方声明,但是只在一个地方定义。加入 extern 修饰的是变量的声明, 说明此变量将在文件以外或在文件后面部分定义。说明:很多时候一个变量,只是声明不分配内存空间,直到具体使用时才初始化,分配内存空间,如外部变量。 面试题 2:写出 bool 、 int、 float、指针变量与“零值” 比较的 if 语句bool 型数据:if( flag )A;elseB;int 型数据:if( 0 != flag )A;elseB;指针型数:if( NULL = flag )A;elseB;float 型数据:if ( ( flag = NORM ) & ( flag = NORM ) )A; 2注意:应特别注意在 int、指针型变量和“零值”比较的时候,把“零值”放在左边,这样当把“ =”误写成“ =”时,编译器可以报错,否则这