指针和数组在C语言中有很密切的关系,它们可以互相使用,实现很多强大的功能。C语言中数组名本质上是一个指向存储数组元素的内存空间的指针,也就是数组名就是数组元素的首地址。因此,可以用指针来访问数组元素,如:
int a[3] = {1, 2, 3}; int p = a; printf("%d", p); //输出1
这里,将数组a的首地址赋值给指针p,然后访问*p即可获得数组a的第一个元素1。可以通过指针对数组进行遍历和操作。同时,可以通过数组名来实现指针的操作,如:
int a[3] = {1, 2, 3}; printf("%d", *(a+1)); //输出2
其中,a+1指向数组a的第二个元素2的地址,然后用*取出其值。这样,就可以用数组名来实现指针的操作,访问数组元素。因此,指针和数组有着非常紧密的联系,可以相互使用,实现很多强大的操作和功能。