指针与数组

来源:互联网 发布:python发展前景 编辑:程序博客网 时间:2024/06/05 14:54

数组首元素的首地址和数组的首地址是不同的。前者是数组元素的地址,而后者是数组整体的地址。两个东西的含义不同,但是数值上是相同的。

/* *指针与数组的初步结合 */#include int main(void){int a[5] = {555, 444, 333, 222, 111};int *p;//p = &a; //编译结果warning: assignment from incompatible pointer type          //(不兼容指针类型的赋值),但是执行结果是对的。        //p = &a[0];//编译和执行都没有问题  p = a; // 编译和执行都没有问题    a = p; //编译会报错,因为数组名是个常量,所以不能赋值,所以数组名不做左值printf("*p = %d.\n", *p);return 0;}
p = &a[0]等同于p = a;都表示数组首元素首地址
p = &a会报错是因为&a是整个数组的首地址
访问数组的两种方法int a[5]; int *p; p = a;数组的方式访问:a[0]  a[1]  a[2]  a[3]  a[4]指针的方式访问:*p  *(p+1)  *(p+2)  *(p+3)*(p+4)





0 0
原创粉丝点击