天天看點

C語言——指針與數組名的差別 一:指針二:數組名三.分析 四:差別

 目錄:

 一:指針

二:數組名

舉例:

三.分析 

四:差別

 一:指針

也是一個變量,存儲的資料是位址

二:數組名

代表的是該數組最開始的一個元素的位址

舉例:

int a[10];
int *p;
p = &a[0] // 可以寫成 p = a;
           

三.分析 

  • 對數組元素 a[i]的引用也可以寫成*(a+i)這種形式
  • 指派語句  p=&a[0] 也可以寫成下列形式: p=a
  • p 是個指針,p[i]與*(p+i)是等價的
  • 函數的參數中 數組類型參數 

    int a[]

    本質是指針 可以直接換成 

    int *a

  • 可以用數組的運算符

    []

    進行運算,而且可以通過

    a[0]

    就直接修改了外面的數組元素
  • size of(a) == sizeof(int *)

     是以函數内部沒法用

    sizeof

    得到數組的長度 隻能傳一個

    len

四:差別

指針是一個變量,可以進行數值運算

數組名不是變量,不可以進行數值運算