c语言int *p=a解释

来源:百度知道 编辑:UC知道 时间:2024/05/16 08:13:20
int a[i]
int *p=a
怎么理解第二句?
我的理解是
int *p;
p=a;
的一种简化,对吗?

int *p=a;是在声明变量时赋初值,这里的*号表示p为指针型变量,与非声明处的*含义不同。类似参考普通变量的声明,如int x=2;即声明时赋初值。

int *p;
p = a;
为对已声明的变量赋值,可类比普通变量:
int x;
x = 2;

你的理解是对的.
我帮你分析一下:int a[i]的i需要已知,要不,是错的.
int *p=a是定义指针变量p,并把数组a[i]的开始地址a赋值给p. 因为a代表数组的开始地址,所以把它理解成int *p
p=a;
是没有问题的.
但是,如果是
int a;
int *p=a则这个表示把a的值当作地址赋值给p,没有实际意义.

莫错,P是一个指针变量,把a的地址送给P

把数组a的首地址赋给p

恩。