我試圖從.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數組並存儲值和密鑰。 –
它是'''分隔值嗎? –