下标要求数组或指针类型_C语言基础:数组的指针,指针数组

我们前面用火车的比喻讲了一下指针和指针变量,这次我们说说指针应用中数组指针和字符串的指针。

数组指针:

我们都知道,一个普通的数组,它的所有元素都是连续排列的。那么数组名就代表着所有的内存吗,答案是明显的,肯定不是,我们前面说过,这些变量名数组名等都只是内存的助记符,代表着指针,所以我们可以认为数组是一个指针,指向了数组的第0个元素,也就是指向数组的首地址,所以朋友们在学习的时候,应该经常会看到用下标取的值和用指针取的值是一样的。

但是你们知道吗,实际上,数组并不是指针,大多数情况下,我们是可以把数组看做指针的,但是还有些例外,我们一起来看看。

a8335045960772d6f4d00dcf980686af.png

我们来看看结果:

8bb4c69e8b254ac50ef62ca80be5ef3f.png

看见了吗,数组a可以放四个int类型元素,而b只能存放2个int类型元素,我们不是说数组可以认为是指针吗,但是现在结果却是数组和数组指针(指针变量)