【发布时间】:2018-05-17 22:18:51
【问题描述】:
我学的是C语言,对指针和数组理解有些困难。
在我阅读的教程中,我有这一行:
char* arrP1[] = { "father","mother",NULL };
我的问题是什么是arrP1?
它是指向静态字符串的指针数组吗:
或者是指向字符串数组的指针:
我很困惑...arrP1 是什么?
【问题讨论】:
-
尝试使用the clockwise/spiral rule,看看你会得到什么。
-
另外,初始化列表应该是一个很好的提示,因为它包含 指针。
-
@Someprogrammerdude:我想你可能在这里遗漏了一些东西。通常你会看到
char arrp1[]或char* arrp1,它们本质上是同一个意思。char* arrp1[]意味着别的东西。 -
@RobertHarvey 我知道
char *arrp1[]是什么意思。而char *arrp1和char arrp1[] = { ... }在语义上非常不同。 -
@RobertHarvey
char *x = "foo";和char x[] = "foo";在语义上非常不同