我有大量的包含整數的64x64矩陣的txt文件。 txt文件具有如下名稱:是否可以使用循環來聲明變量?
mat_1.txt,mat_2.txt,mat_3.txt,mat_4.txt,...,mat_n.txt。
我必須創建一個變量,在主機和設備上分配空間,讀取txt文件並複製到設備。是否有可能在一個循環中完成所有操作?
我知道如何用sprintf
創建一個字符串,但不知道如何用這個字符串來聲明變量。
char fname[10];
for(int k=1; k<=n; k++)
{
sprintf(fname, "mat_%d", k);
int *fname; // how to say to compiler that insted of `fname` there
// should be `mat_1` and in next cycle `mat_2`?
}
你提供的代碼片段,如果你刪除了int指針聲明,已經做了你想要的。它會第一次更新'fname'爲''mat_1'',第二次更新'mat_2'等。 – 2012-03-29 12:03:58
爲什麼有人會這樣做?動態變量名稱在腳本語言中已經很混亂了,編譯語言中沒有人需要它們! @JoachimPileborg:我認爲他想動態地創建名爲'mat_X'的變量 – ThiefMaster 2012-03-29 12:06:55
如果它像@ThiefMaster所說的那樣,那麼不是不可能的。 C沒有這樣的功能,即使在圖書館也沒有。 – 2012-03-29 12:12:42