我试图从.txt文件读取的数据创建一个二维数组。
在 'data.txt中' 的数据看起来像初级讲座:C中的多维数组
A;B;4
A;C;5
B;C;8
假设它是对称的。
有没有什么办法可以创建2D矩阵[i] [j]并在d [i] [j] = value中打印?
感谢您的意见/建议。
我试图从.txt文件读取的数据创建一个二维数组。
在 'data.txt中' 的数据看起来像初级讲座:C中的多维数组
A;B;4
A;C;5
B;C;8
假设它是对称的。
有没有什么办法可以创建2D矩阵[i] [j]并在d [i] [j] = value中打印?
感谢您的意见/建议。
二维数组是有用的。如果是这种情况,其他答案可能会有用。如果没有,2D阵列不适合你。
我建议使用一个简单的一维数组,分配(malloc
)有n * n条目。
然后,要访问单元格i/j,请使用array[i*n+j]
。另一种方法是分配指向数组的指针数组。创建它更复杂,但您可以将其作为array[i][j]
访问。
int tda[3][3];
tda[1][2] = 'x';
您还可以将malloc用于动态大小的数组。
正如你写道:当尺寸在编译时已知
#include <stdio.h>
#define N 4
int main(int argc, char **args) {
int A[N][N], i, j;
for (i = 0; i < N; i++)
for (j = 0 ; j < N; j++)
A[i][j] = i + j;
for (i = 0; i < N; i++) {
for (j = 0; j < N; j++)
printf("%d ", A[i][j]);
printf("\n");
}
}
这个函数做什么? –
它只是在4x4矩阵中设置一些值,然后打印它们。 –
您可以在那里创建char数组并存储值和密钥。 –
它是'''分隔值吗? –