免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 4194 | 回复: 18
打印 上一主题 下一主题

动态数组问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-01-22 11:39 |只看该作者 |倒序浏览
请问在C语言里该如何做才能动态得增加或减少一个数组???
我知道malloc等函数,但不知道具体该怎么实现,哪位可以写个例子给我看吗??

论坛徽章:
0
2 [报告]
发表于 2006-01-22 11:42 |只看该作者
我不是想要知道malloc怎么用,我是想知道如何在给某数组增加空间后再给它增加数组元素,即下标和值

论坛徽章:
0
3 [报告]
发表于 2006-01-22 14:07 |只看该作者
realloc

论坛徽章:
0
4 [报告]
发表于 2006-01-22 17:24 |只看该作者
没看清题目请不要回帖,谢谢

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
5 [报告]
发表于 2006-01-22 18:05 |只看该作者
原帖由 nemanman 于 2006-1-22 17:24 发表
没看清题目请不要回帖,谢谢


人家回帖回的很正确,是你自己要好好理解下标的概念了。什么是数组的下标呢?

论坛徽章:
0
6 [报告]
发表于 2006-01-22 19:02 |只看该作者
定义一个数组之后,比如 int a[10]; 然后再用realloc()增加2个int大小,那就可以直接使用a[10],a[11]了吗?
是不是realloc之后数组就自动地变大了???

[ 本帖最后由 nemanman 于 2006-1-24 13:24 编辑 ]

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
7 [报告]
发表于 2006-01-22 19:04 |只看该作者
原帖由 nemanman 于 2006-1-22 19:02 发表
定义一个数组之后,比如 int a[10]; 然后再用ralloc()增加2个int大小,那就可以直接使用a[11],a[12]了吗?
是不是ralloc之后数组就自动地变大了???


是a[10]和a[11],呵呵。下次别弄错这个了。

论坛徽章:
0
8 [报告]
发表于 2006-01-23 08:43 |只看该作者
原帖由 nemanman 于 2006-1-22 19:02 发表
定义一个数组之后,比如 int a[10]; 然后再用ralloc()增加2个int大小,那就可以直接使用a[11],a[12]了吗?
是不是ralloc之后数组就自动地变大了???

如果是这样,3楼是最好的方法.不过要注意:newly allocated memory will be uninitialized

论坛徽章:
0
9 [报告]
发表于 2006-01-23 13:25 |只看该作者

标准C99已经实现了动态数组这个功能具体的你可以看ANSI的文档

这样的问题没有必要讨论吧 是不是  呵呵

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
10 [报告]
发表于 2006-01-23 13:33 |只看该作者
C99支持动态数组.

a[n]; n可以是变量.

如果不喜欢这样.还可以在堆上分配空间 . malloc(sizeof(...)*n);
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP