选C吧
char ca[3][5]是二维数组,ca[0]就是第一行数组,sizeof获得行长度就是第二维长度5
pa[0]就是char*指针类型,长度是4
选C
sizeof是求结构体或者变量占用空间的字节数。
ca这个是二维数组,从定义结束后,它的字节大小定了,跟里面的内容没关系。
二维数组里面的每个元素也是一个数组,ca[0]是ca的第一个元素,里面有5个char型的字节,sizeof取值就是5
pa数组的每个元素都是指针,sizeof(pa[0])的大小就是一个指针的大小,字节数是 4
没那么复杂,你要知道的是ca[0] 和 pa[0] 代表什么;
假如你定义个数组 int array[10]; 注意,没有初始化哦,问你sizeof(array) 是多少?
答案是40,因为数组在你定义的时候就注定了你的大小:10 * 4 (int 为 4 个字节)
回过头来
ca[0] 代表什么?代表第一行数组,几个?5 个,类型 char,1 * 5
pa[0] 代表什么?代表指针数组的第一个元素,是什么?是指针,指针的sizeof?4