发布网友 发布时间:2024-10-23 18:01
共3个回答
热心网友 时间:2024-11-08 02:25
以前是不可以这样做的 现在最新的一些编译器可以支持 变长数组
热心网友 时间:2024-11-08 02:27
方法1:新C语言标准C99里面有动态声明数组,不过pc机上VC系列不行,用gcc没有问题
方法2:如同二楼的说法,用指针数组来再次分配,但是内存存放也许并不连续,至于其所说的string是C++的类型,C语言没有
方法3:按照二维数组行序优先存放的原则,分配一块连续空间,用指针来按下标操作
示例:
#include <stdlib.h>
#include <stdio.h>
int m, n, *a;
scanf("%d%d", &m, &n);
a = (int *)malloc(sizeof(int) *m *n);
a[i *n + j] = 123; /*就是a[i][j],但是不能如此用两个下标*/
热心网友 时间:2024-11-08 02:26
指针数组。
或者直接用string等函数的数组都支持变长。