我對C真的很陌生...... 我想要的邏輯磁盤(讓我們稱爲logdisk)必須有64個塊,每個塊是64個字節。使用char數組實現64塊邏輯磁盤c
例如, logdisk [i] [j],i是logdisk上邏輯塊的數量或索引,j是塊長度(以字節爲單位)。
所以,
logdisk [5] [0]應該給我塊5
的第一個字節,但我有創造這個logdisk的麻煩,因爲我不知道如何分配使用malloc的2d char數組,我有下面的代碼。
char *logdisk = malloc(64 * 64);
有人可以告訴我如何創建一個64位64字節塊的2d字符數組?
感謝評論,現在我得到一些線索,
char (*logdisk)[64] = malloc(64*64);
上面的一個是從賈森,而下面一個是我的想法,其中一個我應該使用64 * 64的邏輯磁盤?
char **logdisk = malloc(sizeof(char)*64);
for (int i = 0; i < 64; i++) {
logdisk[i] = malloc(sizeof(char)*64);
}
我很困惑你想在這裏實現什麼。你在談論邏輯磁盤 - 很好,然後做'char * logdisk = start_of_disk;'。你爲什麼試圖分配一個指向更多數組的指針來按照定義描述線性的東西? – Blindy