ない値で、文字列の配列を初期化:もちろんは、私は次のシナリオを持って、一定
char *value1 = decrypt(somestring);
char *value2 = decrypt(somethingelse);
static char *theValues[2] = {value1, value2};
これはエラーinitializer is not a constant
が発生します。 関数decrypt()
は、ユーザーの設定ファイルから値を復号化し、char*
を返します。私はその後、theValues
の各値をチェックし、それを検索文字列のリストと比較するfor-loopを持っています。
初期化を削除してから、value1
とvalue2
〜theValues
をコピーしようとすると、メモリが割り当てられていないためクラッシュします。私は行ってmallocし、配列にvalue1などの内容をコピーすることができますが、私は上記の例のように2つの値を持っていません、私は50です。
theValues
を初期化する方法はありますか配列の各要素をmallocし、復号化後に手動で値をコピーしますか?
ありがとうございました。
"初期化を削除してから、value1とvalue2をtheValuesにコピーしようとすると、メモリが割り当てられていないためクラッシュします。"あなたはこれをどうやって見せてくれますか?これはうまくいくはずです。 – Mysticial