【初心者歓迎】C/C++室 Ver.49【環境依存OK】at TECH【初心者歓迎】C/C++室 Ver.49【環境依存OK】 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト357:デフォルトの名無しさん 08/02/23 16:52:12 これで正解でしょうか? #include <string.h> #include <stdio.h> typedef struct STRDATA{ char **start; char **end;}strdata; f(strdata x){ delete *(x.start); *(x.start) = new char [20]; strcpy(*(x.start),"++++++++++++++"); } main(){ char *ch=NULL; strdata x; x.start=&ch; f(x); printf("%s",ch);} 358:デフォルトの名無しさん 08/02/23 16:52:50 図を描こうぜ。図を。 ch, x, そして動的に確保されたメモリが 実際にメモリ上でどう置かれていてどう参照していて 何を実行するとどう変化するか。 359:デフォルトの名無しさん 08/02/23 16:54:53 >>357 それでとりあえずまともに動くね。 推奨されるコードかと言うとまたそれは別だが。 new 使ってるから C++ なんでしょ? コンテナ使えば楽だぜ。 360:デフォルトの名無しさん 08/02/23 16:58:05 横から質問で申し訳ないんだけど、 ・>357のfに渡す前に、xはいつnewされてるの? ・関数の一行目がdeleteって、ものすごく気持ち悪いんだけど、よくつかう手法なの? 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch