C++面试题答案总结
来源:互联网 发布:淘宝卖家在哪里登陆 编辑:程序博客网 时间:2024/05/16 16:59
1.分别给出BOOL,int,float,指针变量 与“零值”比较的 if 语句(假设变量名为var)
解答:
BOOL型变量:if(!var)
int型变量: if(var==0)
float型变量:
const float EPSINON = 0.00001;
if ((x >= - EPSINON) && (x <= EPSINON)
指针变量: if(var==NULL)
2.以下为Windows NT下的32位C++程序,请计算sizeof的值.
char str[]= “Hello” ;
char *p= str ;
int n= 10;
请计算
sizeof (str )= 6;//计算str数组大小,注意str是数组而不是指针,所以是6,包括’\0‘
sizeof ( p )=4;//p为指针类型,在32位环境下,自然是4个字节了
sizeof ( n ) =4;//n为int类型数据,在32位环境下,也是4个字节
void Func ( charstr[100])
{
请计算
sizeof( str )= 4;//不要被charstr[100]给诱惑了,实际charstr作为形参是一个指针,4个字节
}
void *p = malloc( 100);
请计算
sizeof ( p )//p还是一个指针类型,依然是4个字节
= 4;3.头文件中的 ifndef/define/endif 干什么用?
fndef/define/endif 的含义:如果未定义 / 那么定义 / 完成假设
一般是用来防止头文件被重复包含,提高编译效率的。
4.#i nclude 和 #i nclude “filename.h” 有什么区别?答:前者用来包含开发环境提供的库头文件,后者用来包含自己编写的头文件。
5.const 有什么用途?(请至少说明两种)
(1)可以定义 const 常量
(2)const可以修饰函数的参数、返回值,甚至函数的定义体。被const修饰的东西都受到强制保护,可以预防意外的变动,能提高程序的健壮性。
6.在C++ 程序中调用被 C编译器编译后的函数,为什么要加 extern “C”声明?
函数和变量被C++编译后在符号库中的名字与C语言的不同,被extern "C"修饰的变量和函数是按照C语言方式编译和连接的。由于编译后的名字不同,C++程序不能直接调用C 函数。C++提供了一个C 连接交换指定符号extern“C”来解决这个问题。
- C++面试题答案总结
- 面试题答案
- 2017年5月iOS面试题答案总结(转)
- java面试题答案
- 部分C++面试题答案
- 部分C++面试题答案
- 部分C++面试题答案
- 部分面试题答案
- 一些面试题答案
- C++面试题答案
- 模拟面试题答案
- java面试题答案
- 微软面试题答案
- 微软面试题答案
- jQuery面试题答案
- 前端开发面试题答案
- linux常见面试题答案
- hadoop面试题答案
- GitHub第二周
- poj 2446 Chessboard
- LeetCode:Factorial Trailing Zeroes
- HTML5游戏制作之路_06_egret文本及相关属性
- Tomcat虚拟路径的配置
- C++面试题答案总结
- Hashtable原理解析
- 关于EditText的焦点和软键盘开关的一些总结
- iOS status bar的详细研究
- [转] linux下使用mmap实现进程间共享内存
- [leetcode 203] Remove Linked List Elements
- 8. Spring MVC4.1-ContentNegotiatingViewResolver
- AVL树初学笔记
- Valid Anagram --Nice