資料結構與演算法基礎之指標和陣列

孫小白哦發表於2019-07-25

指標和陣列:

  指標和一維陣列:

     陣列名:

       一維陣列名是個指標常量 它的值不能被改變 它存放的是一維陣列裡第一個元素的地址 一維陣列名指向的是陣列的下標為0的第一個元素。

 

下標和指標的關係:

1 a[i]<<==>>*(a+i)<<==>>*(i+a)<<==>>i[a]  //符號表示等價於
1 #include<stdio.h>
2 int mian(){
3     int a[5];
4     printf("%p,%p",a,a+1);//%p以十六進位制輸出存放的前兩個陣列元素的地址,地址是連續的
5     return 0;
6 } 

(一個位元組就是一個地址,int型別四個位元組,double八個位元組,char一個位元組,所有的指標變數只佔用4個位元組,用第一個位元組的地址表示整個變數的地址)

 

如何通過被調函式修改主調函式中一維陣列的內容:

  兩個引數:

     1.存放陣列首元素的指標變數

        2.存放陣列長度的整型變數

 1 #include<stdio.h>
 2 void arry(int* p,int len){
 3     int i;
 4     for(i = 0;i<len;i++){
 5         printf("%d\n",p[i]);
 6     }
 7 }
 8 int main(){
 9     int a[5]={1,2,3,4,5};
10     arry(a,5);//傳遞陣列名,別忘了還有陣列長度
11     return 0;
12 }

 

相關文章