【初心者歓迎】C/C++室 Ver.12【環境依存OK】
■ このスレッドは過去ログ倉庫に格納されています
0665デフォルトの名無しさん
NGNG#include <string.h>
struct x{
int num;
char *str;
};
void disp(struct x data){
printf("%d, %s\n", data.num, data.str);
}
void main(){
char str[] = "abcde";
struct x data1 = { 1, str };
struct x data2;
data2 = data1;
disp(data1);
disp(data2);
*(data1.str) = 'A';
disp(data1);
disp(data2);
}
ポインタはコピー元とコピー先で同じアドレスを指しますので、
どちらか一方のポインタの指すデータを書き換えた場合は、
もう一方のデータも書き換えられることになります。
だそうです。いろいろ試したんですが、なぜか作動しません。
■ このスレッドは過去ログ倉庫に格納されています