int* p=&a [0],请问是如何理解的?

int* p=&a [0],请问这个是如何理解的,是不是理解为:将数组a的首元素的地址赋给指针变量p,并将其的基类型定义为整型?

此问题可以拆开写 int *p
p=&a[0];
意思是一样的。先定义了整形指针p,然后让p指向数组a的第一个元素的地址。
这里面p是指针,起指向变量地址的作用,p是一个变量,会随着你所指向的元素的地址的改变而改变。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-02-27
p的类型本来就是int型指针,本声明只是表明声明int型指针p的同时,用数组a的首元素的地址去初始化p,当然结果就是p指向a[0]了追问

请问:*p是不是表示一个变量啊?

追答

p才是变量,也就是指针变量, int *是类型
如果在表达式中出现,则*p表示p所指向的对象,只是通过p间接访问

第2个回答  2011-02-27
针),和一个数组的长度;
先声明2个指针i和j 分别指向数组的头和尾:
int *p,m=n/2,*i,*j;
i=x;
j=x+n-1;
然后设置交换的终点,也是是数组的中部,用指针p来控制:
p=x+m;
然后从数组的首位置开始,一次交换一个元素,然后让i和j分别靠近p移动,直到把需要交换的元素都交换,也就完成了数组的转置!
for(;i<p;i++,j--)
{
int t=*i;
*i=*j;
*j=t;
}
第3个回答  2011-02-27
顶上一回答
相似回答