- 一维数组名:
int array[5] = {1,2,3,4,5};
- 1、
array:表示数组的名字,同时也是数组的首地址; - 2、
array[1]:取数组第一个元素的值(特别注意:数组的下标是从0开始的),等价于*(array+1); - 3、
&array[1]:取数组第一个元素的地址,等价于array+1; - 一级指针变量名:
int k = 100;int *p = &k;
-
1、
p:表示指针变量名,存放的是地址; -
2、
*p:取指针变量指向的内存空间的数据; -
3、
p+1:向后偏移一个int类型大小的空间; -
4、
*(p+1):取p+1指向的内存空间的数据; -
区别:
-
1、函数传参时(
int array[ ] <==> int *array) -
2、可以通过一级指针指向一维数组;
-
3、一级指针变量名
不完全等价于一维数组名; -
4、一级指针变量名是
一个变量,可以被修改; -
5、一维数组名字是
一个常量,不可以被修改;