C言語なら俺に聞け(入門編)Part 96at TECHC言語なら俺に聞け(入門編)Part 96 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト178:デフォルトの名無しさん 12/02/07 19:15:15.24 void func1( *(*pArray)[23]){ int data[177][23]; *pArray = data; } void func2(void){ int *pArray[177][23]; // 2次元配列のポインタのポインタの宣言 int ans; func1(pArray); ans = pArray[0][0] + pArray[176][22]; } イメージとしてはこんな感じですが、もちろんこれでは上手く行きません・・・ 179:174 12/02/07 19:17:27.61 int data[177][23]をグローバルに持って行ければ全然問題ないのですが、 事情があって、それが出来ないのです・・・ ※私に与えられてる権限としては、func1の引数の変更、func2の製作 180:デフォルトの名無しさん 12/02/07 19:18:57.51 ゴミコード発生の瞬間である。 181:デフォルトの名無しさん 12/02/07 19:20:25.28 やりたい事がさっぱり分からん エスパー待ち 182:デフォルトの名無しさん 12/02/07 19:25:29.62 その実装だと誤動作するよ。自動変数で調べてね。 以下のいずれかの修正をしてもらう必要がある。 ① void getData(*****) { . static int data[N][M]; } ②ソースを分割して、 static int data[N][M]; void getData(*******); ③ malloc つかう。 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch