指针与数组

1. C语言中的数组

C语言中只有一维数组,而且数组的大小必须在编译期就作为一个常数确定下来。对于一个数组,我们只能够做两件事:确定该数组的大小,以及获得指向该数组下标为0的元素的指针。其他有关数组的操作,哪怕咋看上去是以数组下标进行运算的,实际上都是通过指针进行。在C语音中索引运算是以指针算术的形式定义。

int a[3];    //声明一个有3个元素的整型数组 
int *p;      //声明一个指向整型的指针变量
p = a;       //把数组a中下标为0的元素的地址赋值给p

这里不能写成p = &a,这种写法在ANSI C中时非法的,因为&a是一个指向数组的指针,而p是一个指向整型变量的指针,它们的类型不匹配。

*a即数组a中下标为0的元素的引用,同样*(a+i)是数组a中下标为i的元素的引用,被简记为a[i]。

posted @ 2018-10-16 15:48  快乐工作快乐玩  阅读(181)  评论(0编辑  收藏  举报