c++面试题(亲测常问)
注意:此题为我自己面试被问到的,及一些摘抄的,如有侵权请联系我马上删除!
1.
2.
32位指针地址所占字节数为四
举例说明:
char*p;
char test[10];
p=test;
sizeof(p)=4(32位系统) //实质是求指针类型所占字节数,32位对应4字节,64位对应8字节
sizeof(*p)=1 //实质是求指针所指的内容所在字节数,*p=char[0],当然所指内容大小等于1字节
sizeof(test)=10 //虽然数组名test指向第一个数char[0],但是sizeof()会读到数组末尾截止,因此sizeof(test)=10。之前误以为sizeof(test)就是求char[0]的大小,sizeof(test)=1
3.
4.
switch的参数不能为实型。
注:必须是整数型常量,包括char,short,int,long等,不能是浮点数。
整型常量
在C语言中,整型常量分为十进制整型常量、八进制整型常量和十六进制整型常量三种表示形式。
以上三种进制的常量可用于不同的场合。大多数场合中采用十进制常量,但当编写系统程序时,如表示地址等,常用八进制或十六进制常量。
一般情况下,编译程序会根据常量的数值分辨出常量是int还是long int类型。
实型常量
实型常量有两种表示形式:一种是十进制小数形式,另一种是指数形式。
5.
6.
7.
8.
9.
10.
在c++程序中调用被C编译器编译后的函数,为什么要加extern“C”
C和C++的函数符号生成规则不一样。C++调用C语言,由于符号的生成规则不同会导致符号解析出错。使用extern C告诉C++编译器用C语言的规则生成符号
11.float x 如何与0值比较
const float EP = 0.000001;
if ((x >= - EP) && (x <= EP) )
12.
13
14.
15
16
17
Int型指针指向char数组
18
stl基础定义
19
20.
进程和线程的区别和其使用等
21
智能指针
分割线---------------------------
重要!!! 上面几个问题不太包含 stl和算法 stl也是c+基础 要重视其中的函数例如sort pair类型等等 此外排序 查找的算法要会几个
————————————————
原文链接:https://blog.csdn.net/weixin_45671199/article/details/125002972