华三(H3C)实习生面试题

本文介绍了H3C公司在2013年实习生面试中的一些常见问题,包括宏与内联函数的区别、堆与栈的差异、C++中using namespace std的作用、main函数参数的意义、进程与线程的区别,以及单链表的逆置等计算机科学基础知识。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

介绍几个H3C 2013年实习生的面试题

1,宏和内联函数的区别

宏定义:
宏是在预处理阶段进行的简单的字符串替换(注意是字符串的替换,不是其他类型参数的替换)。而且对参数不进行任何检查的验证检查。宏的参数是不占内存空间的,因为只是做字符串的替换。
内联函数:
所谓"内联函数"就是将很简单的函数"内嵌"到调用他的程序代码中,目的旨在节约下原本函数调用时的时空开销。但必须注意的是,作为内联函数,函数体必须十分简单,不能含有循环、条件、选择等复杂的结构,否则就不能做为内联函数了。事实上,即便你没有指定函数为内联函数,有的编译系统也会自动将很简单的函数作为内联函数处理;而对于复杂的函数,即便你指定他为内联函数,系统也不会理会的。

2,堆和栈的区别

这个问题我在前面的一篇博文中已经进行了详细的介绍。请看C中进程的内存分配

3,C++中using namespace std 的作用

对于一个存在着标准输入输出的C++控制台程序,一般会在#include <iostream>的下一行发现一句话,using namespace std。这句话其实就表示了所有的标准库函数都在标准命名空间std中进行了定义。其作用就在于避免发生重命名的问题。
关于using namespace *
顾名思义,using namespace * 就表示释放命名空间* 中间的东西。好处在于我们在程序里面就不用在每个函数的头上都加上*::来调用。如果我们不加上using namespace std,那么我们就需要在主函数中的标准输出流cout函数前面加上std,写成std::cout.表示调用std空间里面的标准输出流cout。

4,解释说明main函数参数

int main(int argc, char *argv[])
这两个参数的作用:argc 是指命令行输入参数的个数(以空白符分隔),argv存储了所有的命令行参数 假如你的程序是hello.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值