关于C语言堆栈问题

[复制链接]
2419|4
 楼主| hsbjb 发表于 2011-7-22 09:02 | 显示全部楼层 |阅读模式
我定义了一个函数: char * function(int num,char *src);

然后我在主函数中调用了:szbuf = function(6,szbuf);
其中szbuf是char szbuf[128] = {'\0'};

程序在运行过程中没有错误的结束,有时候调试过程中会提示内存不足,请问是什么原因?
相见欢喜 发表于 2011-7-26 12:27 | 显示全部楼层
不懂啊,帮顶
蜗牛狂奔 发表于 2011-7-26 12:58 | 显示全部楼层
函数返回的是 char型指针。而接受的数组并非指针型的!
newstary 发表于 2011-7-26 17:35 | 显示全部楼层
szbuf = function(6,szbuf);存在语法错误,szbuf数组名为常数,不能进行赋值运算。

从贴的代码看不会造成内存不足,建议贴完整些再看看
liang7143 发表于 2011-7-26 20:00 | 显示全部楼层
3L正解
可以在定义一个变量
char *p;
p =  &szbuf[0];

然后调用
p = function(6,szbuf);
您需要登录后才可以回帖 登录 | 注册

本版积分规则

193

主题

2354

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部