1. 指针的几种典型应用情况?
答:
int *p[n];—–指针数组,每个元素均为指向整型数据的指针。
int (*)p[n];—p为指向一维数组的指针,这个一维数组有n个整型数据。
int *p();——函数带回指针,指针指向返回的值。
int (*)p();—-p为指向函数的指针。
2. static函数与普通函数有什么区别?
答:static函数在内存中只有一份,普通函数在每个被调用中维持一份拷贝
3. struct(结构)和 union(联合)的区别?
答:1. 结构和联合都是由多个不同的数据类型成员组成, 但在任何同一时刻, 联合中只存放了一个被选中的成员(所有成员共用一块地址空间), 而结构的所有成员都存在(不同成员的存放地址不同)。
2. 对于联合的不同成员赋值, 将会对其它成员重写, 原来成员的值就不存在了, 而对于结构的不同成员赋值是互不影响的。
4. class 和 struct 的区别?
答:struct 的成员默认是公有的,而类的成员默认是私有的。
5. 简述枚举类型?
答:枚举方便一次定义一组常量,使用起来很方便;
6. assert()的作用?
答:ASSERT()是一个调试程序时经常使用的宏,在程序运行时它计算括号内的表达式,如果表达式为FALSE (0), 程序将报告错误,并终止执行。如果表达式不为0,则继续执行后面的语句。这个宏通常原来判断程序中是否出现了明显非法的数据,如果出现了终止程序以免导致严重后果,同时也便于查找错误。
7. 局部变量和全局变量是否可以同名?
答:能。局部会屏蔽全局。要用全局变量,需要使用”::”(域运算符)。
8. 在什么时候使用常引用?
答:如果既要利用引用提高程序的效率,又要保护传递给函数的数据不在函数中被改变,就应使用常引用。
9. 类的声明和实现的分开的好处?
答:1. 起保护作用;
2. 提高编译的效率。
10. windows消息系统由哪几部分构成?
答:由一下3部分组成:
1. 消息队列:操作系统负责为进程维护一个消息队列,程序运行时不断从该消息队列中获取消息、处理消息;
2. 消息循环:应用程序通过消息循环不断获取消息、处理消息。
3. 消息处理:消息循环负责将消息派发到相关的窗口上使用关联的窗口过程函数进行处理。
11. 什么是消息映射?
答:消息映射就是让程序员指定MFC类(有消息处理能力的类)处理某个消息。然后由程序员完成对该处理函数的编写,以实现消息处理功能。
12. 什么是UDP和TCP的区别是什么?
答:TCP的全称为传输控制协议。这种协议可以提供面向连接的、可靠的、点到点的通信。
UDP全称为用户报文协议,它可以提供非连接的不可靠的点到多点的通信。用TCP还是UDP,那要看你的程序注重哪一个方面?可靠还是快速?