我有以下情形:初始化字符串數組與不是恆定的值
char *value1 = decrypt(somestring);
char *value2 = decrypt(somethingelse);
static char *theValues[2] = {value1, value2};
這當然會導致錯誤initializer is not a constant
。 函數decrypt()
解密用戶配置文件中的值並返回char*
。然後我有一個for循環,它將檢查theValues
的每個值並將其與一系列搜索字符串進行比較。
如果我刪除初始化,然後嘗試複製value1
和value2
到theValues
它崩潰,因爲我沒有分配內存。我可以去malloc它,然後將value1等的內容複製到數組中,但是我沒有上述示例中的2個值,我有50.
是否有方法可以初始化theValues
而不必malloc中的每個元素,並手動複製解密後的值?
謝謝。
「如果我刪除初始化,然後嘗試將value1和value2複製到值,它會崩潰,因爲我沒有分配內存。」你能告訴我們你是怎麼做到的嗎?這應該工作。 – Mysticial 2011-12-27 18:37:17