int A[10];int B[10];int *p;int A[10];int B[10];int *p;void giveV(){? ?p = A; ?。绾卫斫膺@里p的功能,它是怎么實現分別給A、B數組賦值的?? ?giveValue( );??? ?p = B; ?。鹑绻某梢粋€數組C[10],這里改成A=B和C=B,還能實現一樣的效果么?? ?giveValue( );}void giveValue( ){? ? //通過一串語句對數組進行賦值,比如p[0]=0...? ?}}
1 回答

望遠
TA貢獻1017條經驗 獲得超1032個贊
如何理解這里p的功能,它是怎么實現分別給A、B數組賦值的?
數組名是數組首元素的地址,而p是一個指針變量,可以對它賦值一個具體變量的地址,所以p=A是合理的,通過操作p來修改數組A的數據。如*p=*p+1;將首元素+1,p++;指向第二個元素.....
p如果改成一個數組C[10],這里改成A=B和C=B,還能實現一樣的效果么?
不能,int C[10];表明C也是數組名,而數組名是指針常量,值不可變,所以A=B和C=B是非法的。
- 1 回答
- 0 關注
- 1471 瀏覽
添加回答
舉報
0/150
提交
取消