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

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