掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
ポインタのポインタ (ID:64688)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
ちなみにこういう場合は、strlenを使って文字列長を算出してから mallocすれば適切な領域になります。 つまり void mymalloc(char **a, char **b) { printf("malloc関数呼び出し前:%p\n",*a); const char* x = "ダブルポインタaが指す文字列"; const char* y = "ダブルポインタbが指す文字列"; *a = (char*)malloc(strlen(x) + 1); *b = (char*)malloc(strlen(y) + 1); printf("malloc関数呼び出し後:%p\n",*a); strcpy(*a, x); strcpy(*b, y); } となります。 また、VC++には便利な関数があってmallocからstrcpyまでをやってくれる _strdupというのがあります。 void mymalloc(char **a, char **b) { printf("malloc関数呼び出し前:%p\n",*a); *a = _strdup("ダブルポインタaが指す文字列"); *b = _strdup("ダブルポインタbが指す文字列"); printf("malloc関数呼び出し後:%p\n",*a); }
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.