発生している問題・エラーメッセージ
c言語初心者で、初めて質問します。 mydataの中身を書き換えようと思っています。 24行目のように、main関数の中で代入すると、mydata[1]の値は変わってくれます。 しかし、これをcng_str関数で行うと(34行目)、エラーは出ませんが、mydata[2]の値が 変わってくれません。 どうしてでしょうか? 8時間くらいあがいてますが、解決しません。 どうか、よろしくお願いいたします。
該当のソースコード
#include <stdio.h> 2 #include <string.h> 3 4 5 // ポインタ変数mydataに ポインタ変数cngを代入する関数 6 void cng_str(char *cng, char *mydata) { 7 mydata =cng; 8 } 9 10 11 int main(void){ 12 char *mydata[3] = {"non1","non2","non3"}; 13 char *cng = "cng"; 14 15 // mydataの確認 16 for(int i=0; i<3; i++) { 17 printf("%s, ", mydata[i]); 18 } 19 printf("\n"); 20 21 22 // main関数内でmydata[1]のアドレスに 23 //cngのアドレスを代入する 24 mydata[1] = cng; 25 26 for(int i=0; i<3; i++) { 27 printf("%s, ", mydata[i]); 28 } 29 printf("\n"); 30 31 32 //関数cng_strにcng, mudata[2]のアドレスを渡して 33 //mydata[2]のアドレスにcngのアドレスを代入する 34 cng_str(cng, mydata[2]); 35 36 for(int i=0; i<3; i++) { 37 printf("%s, ", mydata[i]); 38 } 39 printf("\n"); 40 41 42 43 return 0; 44 }
試したこと
ここに問題に対して試したことを記載してください。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
前提・実現したいこと
ここに質問の内容を詳しく書いてください。
(例)PHP(CakePHP)で●●なシステムを作っています。
■■な機能を実装中に以下のエラーメッセージが発生しました。
発生している問題・エラーメッセージ
エラーメッセージ
該当のソースコード
ソースコード
試したこと
ここに問題に対して試したことを記載してください。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/05/05 09:18
2020/05/05 09:30
2020/05/05 09:33
2020/05/05 21:26