例如char ch[3][5]={"AAA","BBB","CCC"}; 这里面的[3][5]是想表示定义总共有3个元素,每个元素不超过5个字符的一维数组,还是说定义一个3行5列的二维数组?两个下标搞得好混乱,求大佬解答
如果要定义一个二维的字符数组呢,又该怎么表示
追答ch不就是一个3行5列的二维字符数组吗?
一般的定义二维字符数组的方法是:char array[R][C]
R、C都是常量。
char ch[3][5]={"AAA","BBB","CCC"};
如果就以你这个代码来看,它可以用两种方式解答:
三个长度最大为4的字符数组,这很明显
一个3x5的二维数组。只不过因为类型是char所以可以用字符串的方式操作它。
其实单从变量角度来看,它就是一个数组,不管是二维还是一维。因为你可以用指针将这个二维数组以O(1)的复杂度转成一维数组。
无论如何,它最终到底表达什么意思,是要看你怎么用的。你要是以正常数组的方式使用,它就是正常的数组;你要是以字符串数组的方式使用,它就成字符串数组了。
追问如果要定义一个二维的字符数组呢,又该怎么表示
本回答被网友采纳