最近我遇到了这个代码块
char *arrayOfStrings[]={"Monday","Tuesday","Wednesday","Thursday","Friday"};
char *(*ptr)[]= &arrayOfStrings; // LINE A
基本上代码是对上面的字符数组进行排序。 A行不会生成任何错误。我不知道A线上到底发生了什么。
- > char *(* ptr) =& arrayOfStrings
先实际执行什么?谢谢!
答案 0 :(得分:1)
它只是声明并初始化一个指向char的指针数组的指针类型的变量。
答案 1 :(得分:1)
C类型的经验法则是变量的声明类似于变量的使用方式。在这种情况下,*(*ptr)[0]
(即*((*ptr)[0])
)为M
。