不確定什麼是「良好實踐」或被認爲更「正確」。我有一個數組,我想通過除namename []以外的名稱來訪問各個元素。我可以使用#defines或指針,也可能使用其他方式。重命名(混疊)數組元素C
例子:
#define value1 myarray[1]
int myarray[SIZE];
value1 = 5;
或
int myarray[SIZE];
int *ptr;
ptr = &myarray[1];
*ptr = 5;
在我看來,#定義路線比較簡單,使用更少的內存,但會帶來了一堆的問題,我不知道的。任何見解都會很棒,我希望儘可能遵守通用標準。
*編輯:也許還有更好的方法。我的最終目標是獲得將從外設端口發出的陣列。但是,數據由非常不同的數據集組成,並且單個數組名稱不代表所分配的數據。我的記憶非常有限,所以我想避免雙重存儲每個值。
*聖maintinence噩夢,蝙蝠俠!* – dmckee
爲什麼你想要那樣做?理性是什麼? – didierc
我覺得,如果一個值需要一個不同於數組中所有其他值的標識,那麼該值不應該放在數組中。你能提供一個更具體的例子來證明你的想法的實用性嗎? – Kevin