对于一个char * p[]的指针数组,为什么可以使用p[i]获取值?

定义了一个指针数组

int sea= 4;
const char* p[sea] = { "spring","summer","fall","winter" };

为什么可以直接使用p[0]获取"spring"这个元素?
p[0]不是应该是一个地址吗?
麻烦给我讲解一下,我有点绕晕了。

因为 p[0]就是指向 "spring" 这个字符数组首地址的指针。也就是指向 's'
字符数组是连续的,你用这个地址+1就是 p,+2就是r +3就是i ... 直到遇到 \0表示字符串结束。
所以只要有字符串首地址,就能得到整个字符串。
不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^