C中的char stringA [LEN]和char*stringB [LEN]之间有什么区别?

Viv*_*yan 0 c arrays string pointers

我读了几个类似的问题,C:字符指针和数组之间的差异,是什么个char []与char*S之间的区别?,char array []和char*array有什么区别?但他们似乎都不清楚我的怀疑.

我知道

char *s = "Hello world";
Run Code Online (Sandbox Code Playgroud)

使字符串不可变,而

char s[] = "Hello world";
Run Code Online (Sandbox Code Playgroud)

可以修改.

我怀疑的是,如果我这样做char stringA[LEN]; ,char* stringB[LEN];他们有什么不同吗?或者stringB在之前的情况下再次变得不可变?

fre*_*low 5

让我给你一个直观的解释:

如您所见,a是一个包含4个字符的数组,而是b一个包含4个字符指针的数组,每个指针都指向C字符串的开头.这些字符串中的每一个都可以具有不同的长度.