打印

关于C语言堆栈问题

[复制链接]
1627|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数组名为常数,不能进行赋值运算。

从贴的代码看不会造成内存不足,建议贴完整些再看看

使用特权

评论回复
5
liang7143| | 2011-7-26 20:00 | 只看该作者
3L正解
可以在定义一个变量
char *p;
p =  &szbuf[0];

然后调用
p = function(6,szbuf);

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

193

主题

2354

帖子

0

粉丝