c++面试汇总(牛客)

作者:牛客网
链接:https://www.zhihu.com/question/318246216/answer/641163138
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

牛客 问题加答案:https://www.nowcoder.com/tutorial/93/156e55e0579d4a678e857b34d572c278

多数答案:https://blog.csdn.net/u012414189/article/details/84946616

其他面试题
https://blog.csdn.net/damage233/article/details/81116115

https://www.cnblogs.com/nancymake/p/6516933.html

https://blog.csdn.net/u013457167/article/details/82814413

C++方向

一、基础知识

1、基本语言

1、说一下static关键字的作用

2、说一下C++和C的区别

3、说一下C++中static关键字的作用

4、请说一下static的作用

5、说一说c++中四种cast转换

6. 请说一下C/C++ 中指针和引用的区别

7、给定三角形ABC和一点P(x,y,z),判断点P是否在ABC内,给出思路并手写代码

8、怎么判断一个数是二的倍数,怎么求一个数中有几个1,说一下你的思路并手写代码

9、请你说一下你理解的c++中的smart pointer四个智能指针

10、请回答一下数组和指针的区别

11、请你回答一下野指针是什么

12、请你介绍一下C++中的智能指针

13、请你回答一下智能指针有没有内存泄露的情况

14、请你来说一下智能指针的内存泄漏如何解决

15、请你理解的c++中的引用和指针

16、请你来说一下C++中的智能指针

17、请你回答一下为什么析构函数必须是虚函数,为什么C++默认的析构函数不是虚函数

18、请你来说一下函数指针

19、请你来说一下fork函数

20、请你来说一下C++中析构函数的作用

21、请你来说一下静态函数和虚函数的区别

22、请你来说一说重载和覆盖

23、请你来说一说static关键字

24.、请你说一说strcpy和strlen

25、请你说一说你理解的虚函数和多态

26、请你来回答一下++i 和 i++的区别

27、请你来说一说++i 和 i++的实现

28、请你来写个函数在main函数执行前先运行

29、有段代码写成了下边这样,如果在只修改一个字符的前提下,使代码输出20个hello

30、请你来说一下智能指针shared_ptr的实现

31、以下四行代码的区别是什么

32、请你来说一下C++里是怎么定义常量的?常量存放在内存的哪个位置?

33、请你来回答一下const修饰成员函数的目的是什么?

34、如果同时定义了两个函数,一个带const,一个不带,会有问题吗?

35、请你来说一说隐式类型转换

36、说说你了解的类型转换

37、请你来说一说C++函数栈空间的最大值

38、请你来说一说extern“C”

39、请你回答一下new/delete与malloc/free的区别是什么

40、请你说说你了解的RTTI

41、请你说说虚函数表具体是怎样实现运行时多态的?

42、请你说说C语言是怎么进行函数调用的?

43、请你说说C语言参数压栈顺序?

44、请你说说C++如何处理返回值?

45、请你回答一下C++中拷贝赋值函数的形参能否进行值传递?

46、请你回答一下malloc与new区别

47、请你说一说select

48、请你说说fork,wait,exec函数

49、请你回答一下静态函数和虚函数的区别

50、请你说一说重载和覆盖

51、请你说一说static关键字

52、请你说一说strcpy和strlen

2、容器和算法

1、请你来说一下map和set有什么区别,分别又是怎么实现的

2、请你来介绍一下STL的allocaotr

3、请你来说一说STL迭代器删除元素

4、请你说一说STL中MAP数据存放形式

5、请你讲讲STL有什么基本组成

6、请你说说STL中map与unordered_map

7、请你说一说vector和list的区别,应用,越详细越好

8、请你来说一下STL中迭代器的作用,有指针为何还要迭代器

9、请你说一说epoll原理

10、请你说一说STL迭代器是怎么删除元素的呢

11、请你说一说STL中MAP数据存放形式

12、n个整数的无序数组,找到每个元素后面比它大的第一个数,要求时间复杂度为O(N)

13、请你回答一下STL里resize和reserve的区别

14、请你说一说stl里面set和map怎么实现的

3、类和数据抽象

1.请你来说一下C++中类成员的访问权限

2、请你来说一下C++中struct和class的区别

3、请你回答一下C++类内可以定义引用数据成员吗?

4、面向对象与泛型编程

1、请你回答一下什么是右值引用,跟左值又有什么区别?

传统的引用就是左值引用,右值引用是&&,可以用来绑定右值。move语义可以高效把左值引用转换右值引用。

比如&只能关联变量,不能用引用关联常量,比如:

int &a=8;//这不行
int &&a=8;//可以

https://www.cnblogs.com/cposture/p/4927712.html

https://blog.csdn.net/weixin_40539125/article/details/84107068

5、编译与底层

1、 请你来说一下一个C++源文件从文本到可执行文件经历的过程?

2、 请你来回答一下include头文件的顺序以及双引号””和尖括号的区别?

3、 请你回答一下malloc的原理,另外brk系统调用和mmap系统调用的作用分别是什么?

4、 请你说一说C++的内存管理是怎样的?

5、请你来说一下C++/C的内存分配

6、请你回答一下如何判断内存泄漏?

7.请你来说一下什么时候会发生段错误

8、请你来回答一下什么是memory leak,也就是内存泄漏

9、请你来回答一下new和malloc的区别

10、请你来说一下共享内存相关api

https://blog.csdn.net/zc20141220/article/details/79140904

11、请你来说一下reactor模型组成

12、请自己设计一下如何采用单线程的方式处理高并发

I/O多路复用

13、请你说说C++如何处理内存泄漏?

14、请你说说select,epoll的区别,原理,性能,限制都说一说

15、请你说一说C++ STL 的内存优化

6、C++11

1、请问C++11有哪些新特性?

2、请你详细介绍一下C++11中的可变参数模板、右值引用和lambda这几个新特性。

二、操作系统

1、请你说一下进程与线程的概念,以及为什么要有进程线程,其中有什么区别,他们各自又是怎么同步的

2、请你说一说Linux虚拟地址空间

https://blog.csdn.net/poison_biti/article/details/74052534

3、请你说一说操作系统中的程序的内存结构

https://www.cnblogs.com/niupan369/p/4076738.html

4、请你说一说操作系统中的缺页中断

5、请你回答一下fork和vfork的区别

https://blog.csdn.net/jianchi88/article/details/6985326

6、请问如何修改文件最大句柄数?

https://blog.csdn.net/shida_csdn/article/details/79999562

7、请你说一说并发(concurrency)和并行(parallelism)

8、请问MySQL的端口号是多少,如何修改这个端口号

9、请你说一说操作系统中的页表寻址

10、请你说一说有了进程,为什么还要有线程?

11、请问单核机器上写多线程程序,是否需要考虑加锁,为什么?

12、请问线程需要保存哪些上下文,SP、PC、EAX这些寄存器是干嘛用的

13、请你说一说线程间的同步方式,最好说出具体的系统调用

14、请你说一下多线程和多进程的不同

15、请你说一说进程和线程的区别

16、游戏服务器应该为每个用户开辟一个线程还是一个进程,为什么?

17、请你说一说OS缺页置换算法

18、请你说一说进程和线程区别

19、请你说一下多进程和多线程的使用场景

20、请你说一说死锁发生的条件以及如何解决死锁

21、请问虚拟内存和物理内存怎么对应

22、请你说一说操作系统中的结构体对齐,字节对齐

23、请问进程间怎么通信

https://blog.csdn.net/weixin_43360263/article/details/85252968

24、请你说一下虚拟内存置换的方式

25、请你说一下多线程,线程同步的几种方式

26、请你讲述一下互斥锁(mutex)机制,以及互斥锁和读写锁的区别

27、请回答一下进程和线程的区别

28、请你说一说进程状态转换图,动态就绪,静态就绪,动态阻塞,静态阻塞

29、A a = new A; a->i = 10;在内核中的内存分配上发生了什么?

30、给你一个类,里面有static,virtual,之类的,来说一说这个类的内存分布

https://blog.csdn.net/Aspiration_1314/article/details/89932175

31、请你回答一下软链接和硬链接区别

32、请问什么是大端小端以及如何判断大端小端

https://blog.csdn.net/w614171629/article/details/82150292

33、请你回答一下静态变量什么时候初始化

34、请你说一说用户态和内核态区别

35、请问如何设计server,使得能够接收多个客户端的请求

36、死循环+来连接时新建线程的方法效率有点低,怎么改进?

37、请问怎么唤醒被阻塞的socket线程?

38、请问怎样确定当前线程是繁忙还是阻塞?

39、空闲的进程和阻塞的进程状态会不会在唤醒的时候误判?

40、请问就绪状态的进程在等待什么?

41、请你说一说多线程的同步,锁的机制

42、两个进程访问临界区资源,会不会出现都获得自旋锁的情况?

43、假设临界区资源释放,如何保证只让一个线程获得临界区资源而不是都获得?

44、windows消息机制知道吗,请说一说

45、C++的锁你知道几种?

https://blog.csdn.net/xy_cpp/article/details/81910513

46、说一说你用到的锁

47、请你说一说死锁产生的必要条件?

48、请你说一说什么是线程和进程,多线程和多进程通信方式

49、请你说一说内存溢出和内存泄漏

50、进程和线程的区别,你都使用什么线程模型

51、请你来说一说协程

52、系统调用是什么,你用过哪些系统调用

53、请你来手写一下fork调用示例

54、请你来说一说用户态到内核态的转化原理

55、请你说一下源码到可执行文件的过程

56、请你来说一下微内核与宏内核

57、请你说一下僵尸进程

子进程接受,父进程没有回收子进程的信息,导致子进程占用资源没有释放

58、请问GDB调试用过吗,什么是条件断点

59、请你来介绍一下5种IO模型

60、请你说一说异步编程的事件循环

61、请你回答一下操作系统为什么要分内核态和用户态

62、请你回答一下为什么要有page cache,操作系统怎么设计的page cache

63、server端监听端口,但还没有客户端连接进来,此时进程处于什么状态?

这个需要看服务端的编程模型,如果如上一个问题的回答描述的这样,则处于阻塞状态,
如果使用了epoll,select等这样的io复用情况下,处于运行状态。

64、请问如何设计server,使得能够接收多个客户端的请求

多线程,线程池,io多路复用

65、死循环+来连接时新建线程的方法效率有点低,怎么改进?

66、就绪状态的进程在等待什么?

67、请你说一下多线程的同步,锁的机制

68、两个进程访问临界区资源,会不会出现都获得自旋锁的情况?

69、假设临界区资源释放,如何保证只让一个线程获得临界区资源而不是都获得?

70、请问怎么实现线程池

71、Linux下怎么得到一个文件的100到200行

72、请你来说一下awk的使用

73、请你来说一下linux内核中的Timer 定时器机制

三、计算机网络

1、你的研究方向是无线传感器网络,请问怎么确保节点传输存储的可靠性

2、请你说一下TCP怎么保证可靠性,并且简述一下TCP建立连接和断开连接的过程

https://blog.csdn.net/N1314N/article/details/94046103

3、请你说一说TCP的模型,状态转移

4、请回答一下HTTP和HTTPS的区别,以及HTTPS有什么缺点?

5、请你说一说HTTP和HTTPS的不同

6、请你说一说HTTP返回码

7、请你说一说IP地址作用,以及MAC地址作用

8、请介绍一下操作系统中的中断

9、请回答OSI七层模型和TCP/IP四层模型,每层列举2个协议

10、请你说一说TCP的三次握手和四次挥手的过程及原因

11、搜索baidu,会用到计算机网络中的什么层?每层是干什么的

12、请你说一说TCP拥塞控制?以及达到什么情况的时候开始减慢增长的速度?

13、请问TCP用了哪些措施保证其可靠性

14、请你说说TCP/IP数据链路层的交互过程

15、请你说说传递到IP层怎么知道报文该给哪个应用程序,它怎么区分UDP报文还是TCP报文

16、请问你有没有基于做过socket的开发?具体网络层的操作该怎么做?(其实就是网络编程的基本步骤)

17、请问server端监听端口,但还没有客户端连接进来,此时进程处于什么状态?

18、请问TCP三次握手是怎样的?

19、请问tcp握手为什么两次不可以?为什么不用四次?

22、请你来说一下TCP拥塞控制?

20、TCP和UDP的区别和各自适用的场景

21、请你来说一下TCP三次握手四次挥手的过程,为什么tcp连接握手需要三次, time_wait状态

22、请你来说一说http协议

23、请你来说一下GET和POST的区别

24、请你来说一下socket编程中服务器端和客户端主要用到哪些函数

25、请你来说一下数字证书是什么,里面都包含那些内容

26、请你来介绍一下UDP的connect函数

27、请你讲述一下TCP三次握手,四次挥手,以及为什么用三次握手?

28、请你说一下阻塞,非阻塞,同步,异步

29、请你讲述一下Socket编程的send() recv() accept() socket()函数?

30、请你说一下http协议会话结束标志怎么截出来?

31、请你说一说三次握手

32、请你说一说四次挥手

33、请你说一说TCP/IP数据链路层的交互过程

四、数据库

1、数据库基础

1、请你说一下数据库事务以及四个特性

2、请你说一说数据库的三大范式

3、请你介绍一下数据库的ACID特

4、请你说一说数据库索引

5、请你说一说数据库事务

6、请你说一说数据库事务隔离

7、请你说一说inner join和left join

8、请你聊一聊数据库事物的一致性

9、请你说说索引是什么,多加索引一定会好吗

10、k-v存储中,key有哪些要求?

11、介绍数据库中的WAL技术

2、Mysql

1、请你说一说mysql的四种隔离状态

2、请你介绍一下mysql的MVCC机制

3、请问SQL优化方法有哪些

4、请你说一下MySQL引擎和区别

3、Redis

1、请你回答一下mongodb和redis的区别

2、请你说一下mysql引擎以及其区别

3、请你来说一说Redis的定时机制怎么实现的

4、请你来说一说Redis是单线程的,但是为什么这么高效呢?

5、请问Redis的数据类型有哪些,底层怎么实现?

6、请问Redis的rehash怎么做的,为什么要渐进rehash,渐进rehash又是怎么实现的?

7、请你来说一下Redis和memcached的区别

8、请问Redis怎么实现的定期删除功能

9、请你说一说Redis对应的命令和数据类型...

五、算法与数据结构

1、树

1、请你来说一说红黑树和AVL树的定义,特点,以及二者区别

2、请你聊一聊哈夫曼编码

3、请你回答一下map底层为什么用红黑树实现

4、请你介绍一下B+树

5、请你说一说map和unordered_map的底层实现

6、请你回答一下map和unordered_map优点和缺点

7、请你回答一下epoll怎么实现的

8、请你说一说C++两种map

9、请问红黑树了解吗

10、请你说一说红黑树的性质还有左右旋转

11、请你说一说红黑树的原理以及erase以后迭代器的具体分布情况?

12、请你实现二叉树的层序遍历并输出

13、手写代码:二叉树序列化反序列化

2、堆与栈

1、请说一说你理解的stack overflow,并举个简单例子导致栈溢出

2、请你回答一下栈和堆的区别,以及为什么栈要快

3、手写代码:两个栈实现一个队列

4、请你来说一下堆和栈的区别

5、请你说一说小根堆特点

3、数组

1、请你回答一下Array&List, 数组和链表的区别

2.一个长度为N的整形数组,数组中每个元素的取值范围是[0,n-1],判断该数组否有重复的数,请说一下你的思路并手写代码

4、排序

1、请你来手写一下快排的代码

2、请问求第k大的数的方法以及各自的复杂度是怎样的,另外追问一下,当有相同元素时,还可以使用什么不同的方法求第k大的元素

3、请你来介绍一下各种排序算法及时间复杂度

4、请你说一说你知道的排序算法及其复杂度

5、请问海量数据如何去取最大的k个

6、请你说一说Top(K)问题

7、请问快排的时间复杂度最差是多少?什么时候时间最差

8、请问稳定排序哪几种?

9、请你介绍一下快排算法;以及什么是稳定性排序,快排是稳定性的吗;快排算法最差情况推导公式

5、哈希

1、请你来说一说hash表的实现,包括STL中的哈希桶长度常数。

2、请你回答一下hash表如何rehash,以及怎么处理其中保存的资源

3、请你说一下哈希表的桶个数为什么是质数,合数有何不妥?

4、请你说一下解决hash冲突的方法

5、请你说一说哈希冲突的解决方法

6、动态规划

1、请你手写代码:最长公共连续子序列

2、手写代码:求一个字符串最长回文子串

3、手写代码:查找最长回文子串

7、链表

1.请你手写代码,如何合并两个有序链表

2、手写代码:反转链表

3、判断一个链表是否为回文链表,说出你的思路并手写代码

4、请你手写链表反转

5、什么是单向链表,如何判断两个单向链表是否相交

7、高级算法

1、如果让你做自然语言理解(NLU),在处理语言规则的时候大概会用到什么算法

2、请问加密方法都有哪些

3、什么是LRU缓存

4、请你说一说洗牌算法

8、字符串

1、给你一个字符串,找出第一个不重复的字符,如“abbbabcd”,则第一个不重复就是c

六、项目相关

1、请你回答一下git中Merge和rebase区别

七、设计模式

1、请问你用过哪些设计模式,介绍一下单例模式的多线程安全问题

2、请问你了解哪些设计模式?

3、请问如何保证单例模式只有唯一实例?你知道的都有哪些方法?

4、请你说一说OOP的设计模式的五项原则

5、请你说说工厂模式的优点?

6、请你说一下观察者模式

7、请你介绍一下单例模式

8、单例模式中的懒汉加载,如果并发访问该怎么做?

9、装饰器模式和单例模式,使用单例模式应该注意什么

八、场景题

1、给你两个球,100层楼,每个球在一定高度扔下去会碎,怎么用最少的次数给判断是几层楼能把求摔碎?

九、分布式与架构

1、分布式缓存和分布式存储的设计

C++考点部分的考点答案看这里:

附C++知识点思维导图和答案~

  • 0
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
doc格式,60多页吧,几百道题吧,都有答案吧,看好在下!部分:1.求下面函数的返回值(微软)int func(x) { int countx = 0; while(x) { countx ++; x = x&(x-1); } return countx; } 假定x = 9999。 答案:8思路:将x转化为2进制,看含有的1的个数。2. 什么是“引用”?申明和使用“引用”要注意哪些问题?答:引用就是某个目标变量的“别名”(alias),对应用的操作与对变量直接操作效果完全相同。申明一个引用的时候,切记要对其进行初始化。引用声明完毕后,相当于目标变量名有两个名称,即该目标原名称和引用名,不能再把该引用名作为其他变量名的别名。声明一个引用,不是新定义了一个变量,它只表示该引用名是目标变量名的一个别名,它本身不是一种数据类型,因此引用本身不占存储单元,系统也不给引用分配存储单元。不能建立数组的引用。3. 将“引用”作为函数参数有哪些特点?(1)传递引用给函数与传递指针的效果是一样的。这时,被调函数的形参就成为原来主调函数中的实参变量或对象的一个别名来使用,所以在被调函数中对形参变量的操作就是对其相应的目标对象(在主调函数中)的操作。(2)使用引用传递函数的参数,在内存中并没有产生实参的副本,它是直接对实参操作;而使用一般变量传递函数的参数,当发生函数调用时,需要给形参分配存储单元,形参变量是实参变量的副本;如果传递的是对象,还将调用拷贝构造函数。因此,当参数传递的数据较大时,用引用比用一般变量传递参数的效率和所占空间都好。(3)使用指针作为函数的参数虽然也能达到与使用引用的效果,但是,在被调函数中同样要给形参分配存储单元,且需要重复使用"*指针变量名"的形式进行运算,这很容易产生错误且程序的阅读性较差;另一方面,在主调函数的调用点处,必须用变量的地址作为实参。而引用更容易使用,更清晰。4. 在什么时候需要使用“常引用”? 如果既要利用引用提高程序的效率,又要保护传递给函数的数据不在函数中被改变,就应使用常引用。常引用声明方式:const 类型标识符 &引用名=目标变量名;例1int a ;const int &ra=a;ra=1; //错误a=1; //正确 例2string foo( );void bar(string & s); 那么下面的表达式将是非法的:bar(foo( ));bar("hello world"); 原因在于foo( )和"hello world"串都会产生一个临时对象,而在C++中,这些临时对象都是const类型的。因此上面的表达式就是试图将一个const类型的对象转换为非const类型,这是非法的。引用型参数应该在能被定义为const的情况下,尽量定义为const 。5. 将“引用”作为函数返回值类型的格式、好处和需要遵守的规则?格式:类型标识符 &函数名(形参列表及类型说明){ //函数体 }好处:在内存中不产生被返回值的副本;(注意:正是因为这点原因,所以返回一个局部变量的引用是不可取的。因为随着该局部变量生存期的结束,相应的引用也会失效,产生runtime error!注意事项:(1)不能返回局部变量的引用。这条可以参照Effective C++[1]的Item 31。主要原因是局部变量会在函数返回后被销毁,因此被返回的引用就成为了"无所指"的引用,程序会进入未知状态。 (2)不能返回函数内部new分配的内存的引用。这条可以参照Effective C++[1]的Item 31。虽然不存在局部变量的被动销毁问题,可对于这种情况(返回函数内部new分配内存的引用),又面临其它尴尬局面。例如,被函数返回的引用只是作为一个临时变量出现,而没有被赋予一个实际的变量,那么这个引用所指向的空间(由new分配)就无法释放,造成memory leak。(3)可以返回类成员的引用,但最好是const。这条原则可以参照Effective C++[1]的Item 30。主要原因是当对象的属性是与某种业务规则(business rule)相关联的时候,其赋值常常与某些其它属性或者对象的状态有关,因此有必要将赋值操作封装在一个业务规则当中。如果其它对象可以获得该属性的非常量引用(或指针),那么对该属性的单纯赋值就会破坏业务规则的完整性。(4)流操作符重载返回值申明为“引用”的作用:流操作符<>,这两个操作符常常希望被连续使用,例如:cout << "hello" << endl; 因此这两个操作符的返回值应该是一个仍然支持这两个操作符的流引用。可选的其它方案包括:返回一个流对象和返回一个流对象指针。但是对于返回一个流对象,程序必须重新(拷贝)构造一个新的流对象,也就是说,连续的两个<<操作符实际上是针对不同对象的!这无法让人接受。对于返回一个流指针则不能连续使用<<操作符。因此,返回一个流对象引用是惟一选择。这个唯一选择很关键,它说明了引用的重要性以及无可替代性,也许这就是C++语言中引入引用这个概念的原因吧。 赋值操作符=。这个操作符象流操作符一样,是可以连续使用的,例如:x = j = 10;或者(x=10)=100;赋值操作符的返回值必须是一个左值,以便可以被继续赋值。因此引用成了这个操作符的惟一返回值选择。例3#i nclude int &put(int n);int vals[10];int error=-1;void main(){put(0)=10; //以put(0)函数值作为左值,等价于vals[0]=10; put(9)=20; //以put(9)函数值作为左值,等价于vals[9]=20; cout<<vals[0]; cout<<vals[9];} int &put(int n){if (n>=0 && n<=9 ) return vals[n]; else { cout<<"subscript error"; return error; }} (5)在另外的一些操作符中,却千万不能返回引用:+-*/ 四则运算符。它们不能返回引用,Effective C++[1]的Item23详细的讨论了这个问题。主要原因是这四个操作符没有side effect,因此,它们必须构造一个对象作为返回值,可选的方案包括:返回一个对象、返回一个局部变量的引用,返回一个new分配的对象的引用、返回一个静态对象引用。根据前面提到的引用作为返回值的三个规则,第2、3两个方案都被否决了。静态对象的引用又因为((a+b) == (c+d))会永远为true而导致错误。所以可选的只剩下返回一个对象了。6. “引用”与多态的关系?引用是除指针外另一个可以产生多态效果的手段。这意味着,一个基类的引用可以指向它的派生类实例。例4Class A; Class B : Class A{...}; B b; A& ref = b;7. “引用”与指针的区别是什么?指针通过某个指针变量指向一个对象后,对它所指向的变量间接操作。程序中使用指针,程序的可读性差;而引用本身就是目标变量的别名,对引用的操作就是对目标变量的操作。此外,就是上面提到的对函数传ref和pointer的区别。8. 什么时候需要“引用”?流操作符<>、赋值操作符=的返回值、拷贝构造函数的参数、赋值操作符=的参数、其它情况都推荐使用引用。以上 2-8 参考:http://blog.csdn.net/wfwd/archive/2006/05/30/763551.aspx9. 结构与联合有和区别?1. 结构和联合都是由多个不同的数据类型成员组成, 但在任何同一时刻, 联合中只存放了一个被选中的成员(所有成员共用一块地址空间), 而结构的所有成员都存在(不同成员的存放地址不同)。 2. 对于联合的不同成员赋值, 将会对其它成员重写, 原来成员的值就不存在了, 而对于结构的不同成员赋值是互不影响的。10. 下面关于“联合”的题目的输出?a)#i nclude union{int i;char x[2];}a;void main(){a.x[0] = 10; a.x[1] = 1;printf("%d",a.i);}答案:266 (低位低地址,高位高地址,内存占用情况是Ox010A)………………

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值