const char配列をメモリ内のどこかにコピーして、それを指そうとしています。
メイン prog の下でこの var を定義しているとしましょう:
char *p = NULL;
そしてそれを文字列で関数に送信します:
myFunc(&p, "Hello");
今、私はこの関数の最後にポインターが文字 H を指すようにしたいのですが、 puts() すると、 Hello が出力されます。
これが私がやろうとしたことです:
void myFunc(char** ptr , const char strng[] ) {
*ptr=(char *) malloc(sizeof(strng));
char * tmp=*ptr;
int i=0;
while (1) {
*ptr[i]=strng[i];
if (strng[i]=='\0') break;
i++;
}
*ptr=tmp;
}
私は今それがごみであることを知っていますが、それを正しく行う方法を理解したいと思います.
また、(&ptr のように)referenec によって ptr 引数を作成しようとしましたが、左辺値と右辺値の問題により成功しませんでした。
私にとって変更可能なのは関数だけです。文字列ではなく文字を使用したいと思います。
事前に助けてくれてありがとう。