【初心者歓迎】C/C++室 Ver.49【環境依存OK】at TECH【初心者歓迎】C/C++室 Ver.49【環境依存OK】 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト421:デフォルトの名無しさん 08/02/23 22:14:15 >>419 それだと、ポインタは値渡しのため、strに渡した文字列が書き換えられなくなります 削ったのですがこれでも原因が不明です コンパイラはBCC5.5です #include <stdio.h> #include <stdlib.h> typedef struct { char **st; }strdata; f(strdata *q){ char *ch=(char *) malloc(10); ch[0]='X';ch[1]='Y';ch[2]='Z';ch[3]=0; q->st=&ch; } main(){ strdata str; f(&str); //char *test=(char *) malloc(1); printf("%s",*(str.st));} 422:デフォルトの名無しさん 08/02/23 22:17:54 >それだと、ポインタは値渡しのため、strに渡した文字列が書き換えられなくなります ( ゚д゚) ・・・ (つд⊂)ゴシゴシ (;゚д゚) ・・・ (つд⊂)ゴシゴシゴシ _, ._ (;゚ Д゚) …!? 423:デフォルトの名無しさん 08/02/23 22:17:55 419でどこの文字列がどう書き換えられないっていうんだ言ってみろ 424:デフォルトの名無しさん 08/02/23 22:20:55 VCCやGCCやDMCでも実行中にエラーになります #include <stdio.h> #include <stdlib.h> typedef struct { char **st; }strdata; void f(strdata *q){ char *ch=(char *) malloc(10); ch[0]='X';ch[1]='Y';ch[2]='Z';ch[3]=0; q->st=&ch; } int main(){ strdata str; char *test; f(&str); test=(char *)malloc(1); printf("%s",*(str.st)); getchar(); return 0;} 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch