在C语言中,当不知道数组大小的前提下,如何对数组进行定义。求大神进行解答
【1】.不知道楼主所谓的不知道数组大小是指程序运行以后能一次性确定(比如用户输入长度)
1.可以用malloc动态申请
2.如果是GCC编译器甚至可以直接定义动态数组,比如
int len;
scanf("%d", &len);
int [len];
【2】.还是指数组的长度会动态增加
1.可以使用calloc和realloc
2.写个类似链表的结构?
可以用动态数组,用malloc动态分配内存
一些编译器支持直接定义
int x[n];
一些编译器不支持,用malloc或者new动态分配
int * x = new int[n];
也可以用
stl的vector set或者linkedlist
动态数组,或者vector