精华区 [关闭][返回]

当前位置:网易精华区>>讨论区精华>>编程开发>>C/C++>>C、C++语言基础>>C中能否动态分配数组?

主题:C中能否动态分配数组?
发信人: lpc()
整理人: wenbobo(2002-12-06 22:08:55), 站内信件
我有一组变量,变量的数量不定,每个变量的长度也不定,
请问如何分配一个数组来存储数据?

我试过用指针的指针来分配,如下:

char **test;
test=(char *) malloc(10); //先确定数组元素数量
for(int i=0;i<10;i++) test[i]=(char *) malloc(5); //分配每个元素的大小


结果我用printf("%d",strlen(test0]))得到的竟然是0 ?!
而sizeof(test[0]) =4
请问怎样做才能分配到一个类似的动态数组呢?

--
※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 202.116.9.82]
=============================================================
发信人: smilebean (smilebean), 信区: CLanguage
:    .......
C中不能动态定义数组,可定义一稍大的数组来解决
--
※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 202.96.219.162]


=================================================================
发信人: client (<H2><marquee>热情), 信区: CLanguage
: 在TC中对数组的分配是不能动太分配的,你可以用链表的方式在内存中
动态的分配空间,比如说用:
(int *)mallic(sizof(*n));
--


[关闭][返回]