c语言二维数组的[]代表什么

img

二维数组char [][8]这个是代表的只有第一行,一行有8⃣️个值
还是代表的什么意思
另外s[0]不是写的one吗,为什么要分成6个格

实际上是八个格子,因为s[][8]表示这个二维数组每一行有八列即一行可以放八个元素,只需要确定了每一行有多少列,然后"one"占第一行"two"占第二行
"three"占第三行 拿"one"来说 这个字符串实际上是'o' 'n' 'e' '\0' 四个字符组成放在第一行里占了四个字符 还有四个空间是空的默认为'\0'

char s[][8]这种写法,一定后面带有初始化数据,否则是错误的。
8代表有每行有8列,也就是说每个字符串长度为8,有效字符为7个
根据后面的初始化内容,可知s数组共有3个字符串,因此二维数组空着的行是3行。程序会根据初始化值自动计算出二维数组的行数