面试题汇总及解答

1.mallocnew的区别?

Malloc/free是函数,new/deletc++运算符它们都可用于申请动态内存和释放内存。

c程序只能调用malloc/freec++两者都可以。

c++ new运算符:自动计算内存大小并申请堆内存;调用构造函数;返回正确的指针;普通调用new申请内存失败是抛出异常std::bad_clloc而不是返回NULL,(nothrow 不抛异常new 则失败的时候返回NULL

2.假设有函数调用ff1(),f2(),这样的调用是否合法,如果合法那么运行顺序是则么样的?

合法,运行顺序:在linux上使用c语言实验结果:f2() f1() f() ,函数参数列表栈从右到左入栈。

3.GDB调试如何查看堆栈信息,如何在运行过程中打端点?

4.编写一个可变长度形参的函数。

#include<stdarg.h>

void print(const char*format,...)

arg_list arg;

arg_start(arg,format);

while(*format)

{

xxxxxx;

format++;

}

arg_end(arg);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值