數組 ?指針的6句話。
1
a:表示數組的首元素的首地址。
a+1:表示數組第二個元素的地址,+1,跨過指針所指向對象的一個長度,此處a作為指針所指向的對象是數組中的元素。
%p:輸出一個地址的格式
2
&a:它的值是數組a的第一個元素的地址,但是作為一個指針,所指向的對象是整個數組,
&a+1:指針&a跨過一個&a所指向的對象,即從數組開頭指向了數組最后,跨過整個數組
3.
指針的含義包含2方面:1.它的值(地址)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 2.它指向的對象
4.
二維數組名a表示一個行指針,指向的對象第一行,指針停留的位置是第一行的第一個元素上。加顆*,可以讓一個行指針變成列指針,即*a,變成了指向一列的指針,指向第一列,*a+1指向第二列,即第一行的第二個元素
5.
一個列指針前面加顆"*",如**a,就表示成這個列指針所指向對象的值,即第一行第一列的元素的值。int a[5],一維數組名a就可以看做是一個列指針,a+1偏過一個元素即一列,加顆"*"記得到了指向的元素的值。
6.
一個列指針前面加個"&"就變回為行指針。
? ? ? int a[5], ? ? ? ? ? ? ? ? a:指向數組中每個元素(列),
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? &a:指向整個數組(行)。
函數的使用
怎么向一個函數傳遞一個變量的地址。
怎么向一個函數傳一個數組進去
********在主函數中定義2個變量int a=3,b=5.再定義一個子函數,在這個子函數中實現a,b的值交換,并在主函數中調用這個子函數。然后在主函數中輸出交換后a,b的值
注意:賦值的過程,只是一個值得拷貝。int *x=&a,int *y=&b