C语言的小问题

[复制链接]
查看11 | 回复5 | 2012-8-3 12:06:35 | 显示全部楼层 |阅读模式
你说的不可以是什么?编译不通过?运行结果不正确?运行出错?你的程序第二第三个分配了内存没有释放会造成内存泄漏第一个虽然释放了,但是释放了之后就不应该再使用释放掉的内存了。因为程序简单没出错,但程序复杂了会出现意想不到的错误...
回复

使用道具 举报

千问 | 2012-8-3 12:06:35 | 显示全部楼层
你这三个程序都是错的。。。第一个也不对第一个内存泄露,他们说的很清楚,我就不说了,而且多数情况都是哪里malloc就在哪里free第二个,如果free了的话其实就是正确的了第三个,因为你传参数的时候传的是*p,只是把他的值传给了函数中的形参q,也就是说相当于q = *p,改变q的值不会改变*p的值,所以结果应该是10和10。...
回复

使用道具 举报

千问 | 2012-8-3 12:06:35 | 显示全部楼层
编译都可以过,当然malloc 最好要free,以免内存泄露...
回复

使用道具 举报

千问 | 2012-8-3 12:06:35 | 显示全部楼层
malloc了没free当然不对,会内存泄漏...
回复

使用道具 举报

千问 | 2012-8-3 12:06:35 | 显示全部楼层
malloc了没free就不对了,会内存泄漏...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行