void f(int pv1, int *pv2, int *pv3, int pv4[]){
int lv = pv1+ *pv2 + *pv3 + pv4[0];
pv1= 11;
*pv2= 22;
*pv3= 33;
pv4[0]= lv;
pv4[1]=44;
}
int main(void){
int lv1=1, lv2=2;
int *lv3;
int lv4[]= {4,5,6};
lv3= lv4+2;
f(lv1, &lv2, lv3 , lv4);
printf("%i,%i,%i\n", lv1, lv2, *lv3);
printf("%i,%i,%i\n", lv4[0], lv4[1], lv4[2]);
return 0;
}
回答:1 22 33Cパラメータの受渡しとポインタ
私はどのように理解していません。
マイ作業: LV1 = 1、LV2 = 2、LV3 = LV4 + 2 = 6、LV4 [] = {4,5,6}
)(Fを経た後、 Lv1を= 11 、lv2 = 22、lv3 = 33、lv4 [0] = 13、lv4 [1] = 44
'pv1 = 11;'は 'lv1'には影響しません。 – BLUEPIXY
いくつかの説明を追加してください。何をしたいのですか? –
[Cの関数に渡されたポインタを変更するにはどうすればよいですか?](http://stackoverflow.com/questions/766893)/how-do-i-modify-a-pointer-of-a-function-in-cに渡されました – StoryTeller