C语言可以实现为一维数组动态分配内存吗?

如题所述

可以。。

例子如下:
# include <stdio.h>
# include <malloc.h>

void main(void)
{
int len,i, *p;
printf("输入要存放元素的个数:");
scanf("%d", &len); //输入长度构造动态一维数组
p = (int *)malloc(sizeof(int)*5);
for(i=0; i<len; ++i)
scanf("%d",(p+i)); // p+i等同于&p[i];

// 将动态一维数组p的长度增加至6,并将第6个元素赋值为100;

realloc(p,sizeof(int)*6);//realloc重新增加或减少一维数组的长度;
p[5] = 99;
printf("输出内容:\n");
for(i=0; i<=len; ++i)
printf("%-5d", p[i]); //p[i]等同于*(p+i);
printf("\n");

}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-04-28
int* a = malloc(10*sizeof(int));
这就是为一位数组分配内存
相似回答