数组和指针

int arr[] = {1, 2, 3, 4, 5};

在以下两种情况下:

  1. sizeof(arr)取数组大小
  2. &arr 取数组地址,指向数组的指针(&arr + 1的步长是整个数组的大小)

数组名代表的是数组本身,其他情况下数组名都代表指向数组首元素地址的指针(作为函数参数传递时,形参就是代表指向数组首元素地址的指针,不能取数组大小)。

arr[1]实质上就是*(arr+1),但是不能进行arr = arr +1,arr是指针常量

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top