声明的执行流程

时间:2014-10-18 17:24:15

标签: c++

最近我遇到了这个代码块

 char *arrayOfStrings[]={"Monday","Tuesday","Wednesday","Thursday","Friday"};
 char *(*ptr)[]= &arrayOfStrings;  // LINE A 

基本上代码是对上面的字符数组进行排序。 A行不会生成任何错误。我不知道A线上到底发生了什么。

- > char *(* ptr) =& arrayOfStrings

先实际执行什么?谢谢!

2 个答案:

答案 0 :(得分:1)

它只是声明并初始化一个指向char的指针数组的指针类型的变量。

答案 1 :(得分:1)

C类型的经验法则是变量的声明类似于变量的使用方式。在这种情况下,*(*ptr)[0](即*((*ptr)[0]))为M