[過去ログ] 【まず1嫁】くだすれPython(超初心者用) その59 (1002レス)
上下前次1-新
抽出解除 レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
746(1): デフォルトの名無しさん [] 2024/06/25(火) 13:31:55.40 ID:ZtCD4zFU(3/5) AAS
>>744744(1): デフォルトの名無しさん [] 2024/06/25(火) 13:28:25.30 ID:PJlEmYUO(3/7) AAS
>>741
で、C言語だとこんな感じかと想像するが、
変数 xの値である 1 を渡すことを、値渡し、
変数 xのポインタである 0x7ffed3b1f5ac を渡すことを、参照渡しと呼んでいた。
$ cat x.c
#include <stdio.h>
void modify(int *xx, int *yy) {
printf("xx %p %d\n", xx, *xx);
printf("yy %p %d\n", yy, *yy);
int new_xx = 0;
xx = &new_xx; /* 代入により別オブジェクトを指すPython風 */
*yy = 0; /* 変更結果が返される。 */
printf("xx %p %d\n", xx, *xx);
printf("yy %p %d\n", yy, *yy);
return;
}
int main(void) {
int x = 1;
int y = 11;
modify(&x, &y);
printf("x %p %d\n", &x, x);
printf("y %p %d\n", &y, y);
return 0;
}
$ cc x.c && ./a.out
xx 0x7ffed3b1f5ac 1
yy 0x7ffed3b1f5a8 11
xx 0x7ffed3b1f58c 0
yy 0x7ffed3b1f5a8 0
x 0x7ffed3b1f5ac 1
y 0x7ffed3b1f5a8 0
>変数 xの値である 1 を渡すことを、値渡し、
>変数 xのポインタである 0x7ffed3b1f5ac を渡すことを、参照渡し
そんな事実は無い
「参照私」が出現したのはC++から
Cには値私とポインタ私しかない
747(1): 742 [] 2024/06/25(火) 14:10:18.90 ID:PJlEmYUO(4/7) AAS
>>745同じ渡し方の二つの引数の一方が出来て、他方が出来ないので、渡し方の問題じゃないよね、という話をしたよ。
>>746
Call by Reference の和訳は、ポインタ渡しでも参照渡しでも良いと思うよ。
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.043s