当前位置:编程学习 > C/C++ >>

几个简单的笔试题

1. inline函数中有堆栈的创建与销毁过程吗? 2.可以在头文件中定义inline函数吗?(涉及编码规范)或者说最好定义在哪 3.char *pBuffer = "abcd"; char *strCpy = (char*)malloc(sizeof(pBuffer) + 1); 函数最后return strCpy; strCpy是存储在堆栈中吗? 这时abcd是存储在堆中吗?如果不是,它们存储在哪
追问:我查了下  貌似是建议放在头文件中的
答案:好难啊。
1)inline属于内嵌代码,属于代码区(c语言4个区),不会涉及堆栈吧。
2)既然是代码,应该在c文件中定义。
 
3)malloc属于动态分配内存,在堆,(注意,堆和栈是不同的)
4)"abcd"属于常量,不可能存在堆,只好靠边站了。

上一个:C程序这两种方法有什么不一样??区别在哪?是不是能不换??
下一个:C语言编写正确之后怎么运行啊?

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,