搜索

C语言动态分配内存为什么总是有警告?可以运行

gecimao 发表于 2019-08-13 20:58 | 查看: | 回复:

  关键在于你前面给a分配地址时,是分配了(n+1)个地址,也就是从a[0]a[n]都有地址了,但是后面你在给二维数组分配地址时,只给a[1]-a[n]各分配了(n+1)个地址,也就是从a[1][]-a[1][n]一直到a[n][o]-a[n][n]都有地址了,但是你并没有给a[0]再进一步分配地址,当程序调用a[][1]时,就会出现错误啊。特别说明一点,分配仍然是从0开始分配地址的。

  不是这样的。动态分配的内存也是从0开始,但你的代码里没有为a[o]赋值,a[O]指向的内存就是不确定的,试图读取或写入可能引发段错误导致程序结束。

本文链接:http://hem-larm.com/dongtaidizhizhuanhuan/1211.html
随机为您推荐歌词

联系我们 | 关于我们 | 网友投稿 | 版权声明 | 广告服务 | 站点统计 | 网站地图

版权声明:本站资源均来自互联网,如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

Copyright @ 2012-2013 织梦猫 版权所有  Powered by Dedecms 5.7
渝ICP备10013703号  

回顶部