如题所述
定义动态数组,例如:
#include <stdio.h>
#include <stdlib.h>
int len;
char *str;
printf("输入数组的长度:");
scanf("%d",&len);
str=(char*)malloc(len*sizeof(char));
为str分配分配len个字符大小的空间。
#include <stdio.h>
#include <stdlib.h>
int len;
char *str;
printf("输入数组的长度:");
scanf("%d",&len);
str=(char*)malloc(len*sizeof(char));
为str分配分配len个字符大小的空间。
温馨提示:答案为网友推荐,仅供参考
第1个回答 2011-02-17
通过指针和动态分配函数完成。
如: int *p;
p=(int *)malloc(sizeof(int)*10);
上述可申请大小为10的整型数组。
当然也可以用链表实现。
如: int *p;
p=(int *)malloc(sizeof(int)*10);
上述可申请大小为10的整型数组。
当然也可以用链表实现。
第2个回答 2011-02-17
C99标准定义了可变长数组,不过也是有限的。VC并不支持,TC远老于C99就更不可能支持了,gcc支持。
要真正的动态数组还是只能用指针,用malloc分配内存。
关于可变长数组的描述见:
要真正的动态数组还是只能用指针,用malloc分配内存。
关于可变长数组的描述见:
第3个回答 2011-02-21
这个很简单,你不要给数组规定大小就可以了,比如 a[] 这个数组的大小就是你输入的多少来决定的
第4个回答 2011-02-17
常规定义是不可能的 呵呵
不过可以动态内存分配用calloc函数建立连续空间段,相当于数组了
不过可以动态内存分配用calloc函数建立连续空间段,相当于数组了