指针数组定义字符串指针 char Month[] [4] 中的这个4到底指什么 怎么和之前二维数组中的行列区分

定义字符串指针char Month[] [4] 中的这个4到底指什么 怎么和之前二维数组中的行列区分char *pMonth[] 又是什么意思 什么情况下中括号中可以不写?求大神帮忙解答!

问题一:定义字符串指针char Month[][4]中的这个4到底指什么?怎么和之前二维数组中的行列区分?
字符串指针其实是二维指针,也就是指向指针的指针。可以对比int型二维数组去理解,如果是int num[2][3],表示num二维数组的“行为2、列为3”。回到字符串数组,这里的“行”就是字符串的数量,而“列”就是每个字符串的长度(包含'\0'结束符)。所以char Month[][4]中的4就是每个字符串长度(包含'\0'结束符)为4的意思。
问题二:什么情况下中括号中可以不写?
像char Month[][4]的写法是属于简写,具体是简写“行数”或“列数”,需要看编译器实现。目前C语言编译器的规定是“行数”可以省略,但是“列数”不能省略,记住就可以了。
温馨提示:答案为网友推荐,仅供参考
相似回答