怎样做?
请问在C里面,我要定义一个数组,但是数组的大小不确定,怎样可以做到动态的定义数组的大小?
悬赏分:0 - 解决时间:2008-10-7 23:20
提问者: gyt_ltd - 试用期 一级 最佳答案
#include <stdlib.h>
int *a;
a=malloc(sizeof(int)*10); /*为a动态分配10个int类型的存储单元*/
.../*可以像操作静态数组那样操作a*/
free(a);/*释放为a分配的空间*/
这里有个,不会用……
怎么赋值?
第1个回答 2009-02-01
在C语言中,只有在堆上才能申请动态数组。通过malloc可以申请用户自由输入长度的数组,通过realloc可以将已有的内存区域重新分配(扩充或缩减)。
第2个回答 2009-02-01
和int a[10]用法一样。
好好学习数组和指针的关系,重定向和索引的关系。
好好学习数组和指针的关系,重定向和索引的关系。
第3个回答 2009-02-01
赋值:
*(a+i) = 0; /* i 是数组下标 */
或者
a[i] = 0; /* 也可以,但我个人不推荐。*/本回答被提问者采纳
*(a+i) = 0; /* i 是数组下标 */
或者
a[i] = 0; /* 也可以,但我个人不推荐。*/本回答被提问者采纳