第16章 C語言——數組名(1 / 1)

int arr[10]={0};   這個被定義的數組中,arr代表的是數組的第一個元素的地址,&arr[0]也是數組首元素地址,&arr則是整個數組的地址。&arr[0]+1比&arr[0]的地址多了4,而&arr+1相比於&arr的地址多了40,因為&arr[0]是首元素地址,&arr是數組的地址,一個元素長為4,加了個1自然多4,數組長為40,加1自然加了40。   在用sizeof計算數組長度時,sizeof(arr)計算的是整個數組的長度   在二維數組   int arr[3][4]={0};中   arr是數組首行的地址,驗證方法很簡單,可以分別打印arr和arr+1的地址,發現arr+1比arr的地址多16。   相同sizeof計算arr時,arr為整個二維數組的打小。   可以理解為,當用sizeof計算數組大小時,所用的數組名就是數組的地址,但實際上,數組名隻是數組首元素的地址而已