int arr[] = {1, 2, 3, 4, 5};
在以下两种情况下:
- sizeof(arr)取数组大小
- &arr 取数组地址,指向数组的指针(&arr + 1的步长是整个数组的大小)
数组名代表的是数组本身,其他情况下数组名都代表指向数组首元素地址的指针(作为函数参数传递时,形参就是代表指向数组首元素地址的指针,不能取数组大小)。
arr[1]实质上就是*(arr+1),但是不能进行arr = arr +1,arr是指针常量
int arr[] = {1, 2, 3, 4, 5};
在以下两种情况下:
数组名代表的是数组本身,其他情况下数组名都代表指向数组首元素地址的指针(作为函数参数传递时,形参就是代表指向数组首元素地址的指针,不能取数组大小)。
arr[1]实质上就是*(arr+1),但是不能进行arr = arr +1,arr是指针常量