背景:
定义指针变量时, 定义方法是 *p ,如果定义数组 a[ 10 ],要传递数组地址给指针变量p。 可以两种,
a. 定义的时候传递,
int a[10], *p = a;
b. 定义结束后传递
Int a[10], *p;
P = a;
问题:
1. 这样的说法是否正确, 在定义指针变量和对指针变量赋值 ( ? )时, 具体注意哪些问题?
2. 上面的背景叙述中,传递数组地址给指针变量怎么理解更好些?
再问下,请解答, 谢谢。
int a[10];
/* 代码不写全了哈 */
int *p, b;
p = a;
b = *p.
/* 问题: 这里的*p应该是一个元素值(数组的首元素--如果有错, 请指正),那么这里的 * 怎么理解? */
*p是数组首元素没错,因为p=a表示p这个指针变量等于数组a的地址也即首元素的地址。*表示获取地址中的值,所以*p就表示通过数组a首元素的地址取首元素的值。
本回答被提问者采纳