如图,ch是一个二维数组,ch[]是什么

img

ch是二维数组指针。
第一个for循环对p赋值,让p[0]指向二维数组ch的第一行,p[1]指向二维数组ch的第二行。
第二个和第三个for循环其实就是对二维数组的操作,外循环遍历二维数组的所有行,内循环遍历每行的每个元素,j+=2,也就是只取下标是0和2的元素。第一行下标是0的元素是'6',下标是2的元素是'3',第二行下标是0的元素是'8',下标是2的元素是'5',所以整个运算符加起来就是6385

可以看做ch[]就是一维数组呀,元素也为一维数组

char c;是字符,
char str[];是字符串(字符串以\0结束),
char strarr[][]是字符串数组,
所以 strarr[n]是字符串数组中的一个字符串(从字符串流开始到\0结束);
例如
strarr[2][4]={"'a','b','c','\0'","'d','e','f','\0'"};//通常情况是为\0预留空间,编译器自动添加\0字符.
printf("%s\n",strarr[0]);//输出的是字符a b c的集合即字符串 (遇到\0结束)
printf("%c\n",strarr[0][0]);//输出的是单字符a
以上就是字符与字符串的区别以及字符串数组的应用.