dnf忍者时装补丁:怎样取出数组地址

来源:百度文库 编辑:中科新闻网 时间:2024/05/02 03:39:40
int a[10],*p;
如此定义一个数组我要取出这个数组的地址并赋给指针变量p是不是可以用下面三种方法
p=a;
p=&a;
p=&a[0]

数组名称实质上就是指向数组第一个元素的指针。因此可以直接将其赋值给指针P

p=a;

传引用数组时只需传递数组名。调用数组时默认也是传引用方式。

如果要取数组中某一元素的地址则需要
p=&a[i];(i为所需数组元素的下标)
或者
p=a+i;

a+i等于&a[i];
a等于a[0]

而p=&a;则是取指针a的地址赋给p,p成为了指向a的指针(指针的指针)与第一种及第三种赋值是不同的。

一定记住,数组就是一个指针型常量,我们说得指针是指针型变量。所以你的1、3方法是对的,第2种不可以。

数组 int a[10];
a就是首元素地址,步长4;&a是数组地址,步长位40

p=a; p=&a[0]可以