小狼,你家BOSS喊你面试啦!!!(三)

1、C语言中struct和union的区别

struct占用的空间大小是每个元素对齐后的所占空间总和;而union是占用字节数最大的那个元素的字节数。

联合体所有成员共享一块内存;结构体成员之间所占字节需要累加的

另一方面就是,成员函数赋值问题,union会用新的值覆盖以前的值

2、C和C++的struct有什么区别

C++中struct可以有自己的成员函数。而C的则没有。

上面一条说对了,就是成员函数之间的区别

还有就是:C++中struct对数据成员的访问有三种状态的,而C中struct则不会有public、private、protected访问权限

C++中struct有继承的关系。C中没有。

3、C++中struct和class的区别

一:默认的访问权限(struct是public;而class默认是private)

扫描二维码关注公众号,回复: 2479474 查看本文章

其实重点区别就是继承、访问的权限的不同

C++保留struct的原因:主要是因为兼容的问题

4、一些结构中的冒号和数字是什么意思

没懂题目

typedef struct

{

    int a:2;     //冒号,表示位段  不能超过类型占用空间大小

    int b:2;

    int c:1;

}

位段的结构体成员必须是int型的;位段在内存中的存储方式由编译器决定

5、有效的计算2*8的方法是什么

2<<3

6、如何实现位操作求两个数的平均值

两个数分别右移再相加

7、unsigned int i=3;printf("%u\n",i*-1);输出为多少

不知道

8、如何求解整形数中二进制中1个个数

和1按位与吧,然后右移

9、不能用sizeof关键字,如何判断操作系统是16位函式32位

定义一个char或者int的数组,取相邻元素的地址做减法。

10、嵌入式编程中什么是大端,什么是小端

低位字节放在高地址位置就叫大端存储,低位字节放在底地址位置就叫小端存储

11、考虑n位二进制数,有多少个数中不存在两个相邻的1

12、不用除法操作,如何实现两个正整数的除法

13、怎么写一个接受可变参数的函数

14、函数指针和指针函数的区别是什么

函数指针:是指向函数入口地址的指针

指针函数:返回指针的函数

15、C++函数传递参数的方式有哪些

传值、传址

16、重载与覆盖有什么区别

重载是具有相同函数名,不同参数类型或者个数的函数;

覆盖是?

17、是否可以通过绝对内存地址进行参数赋值与函数调用

可以的;传址方式

18、默认构造函数是否可以调用单参数构造函数

不清楚

19、C++ 中函数调用有几种方式

直接?间接?

20、什么是可重入函数?C++如何写可重入函数

概念都不懂啊。。。

21、int a[2][2] ={{1},{2,3}},则a[0][1]的值是多少

a[0][1]=0;

22、如何合法的表示2维数组

23、a是数组,那么(int*)(&a+1)表示什么意思

取a数组首元素地址,一个int* 的指针指向首地址+1 的下一个位置。

24、不使用流程控制语句,如何打印出1-1000的整数

25、char str[1024];scanf("%s",str)是否安全

不安全,可能会造成溢出

26、行存储与列存储那种效率比较高

行的效率要高些;

猜你喜欢

转载自www.cnblogs.com/westlife-11358/p/9393869.html