二维数组的表示方法

若有定义语句:inta[2][3],*p[3];,则以下语句中正确的是A)p=a;B)p[0]=a;C)p[0]=&a[1][2];D)p[1]=&a;我感觉这道题BC两... 若有定义语句:int a[2][3],*p[3]; ,则以下语句中正确的是
A)p=a; B)p[0]=a; C) p[0]=&a[1][2]; D)p[1]=&a;

我感觉这道题BC两个选项都是正确的 请高手指教应该选哪个 其余的错在哪里 谢谢
展开
 我来答
慎重还可靠灬宝贝f
推荐于2018-12-31 · TA获得超过12.9万个赞
知道大有可为答主
回答量:1.9万
采纳率:52%
帮助的人:2626万
展开全部
表示方法如下:  
int a[3][2]={{1,1,},{1,1,},{1,1,},}
  定义的时候int a[3][2]代表三行两列的整型数组
  使用的时候是循环不到a[3][2]的,三行两列的整型数组最多可以访问到a[2][1],因为数组下标是从0开始的,切记不要越界哦~
  
  

  二维数组的初始化 
  二维数组初始化也是在类型说明时给各下标变量赋以初值。 二维数组可按行分段赋值,也可按行连续赋值。 例如对数组a[5][3]:
  1.按行分段赋值可写为static int a[5][3]={ {80,75,92},{61,65,71},{59,63,70},{85,87,90},{76,77,85} };
2.按行连续赋值可写为static int a[5][3]={ 80,75,92,61,65,71,59,63,70,85,87,90,76,77,85 };

  这两种赋初值的结果是完全相同的。
  
  3.可以只对部分元素赋初值,未赋初值的元素自动取0值。
例如: static int a[3][3]={{1},{2},{3}}; 是对每一行的第一列元素赋值,未赋值的元素取0值。 赋值后各元素的值为: 1 0 02 0 03 0 0
static int a [3][3]={{0,1},{0,0,2},{3}}; 赋值后的元素值为 0 1 00 0 23 0 0

4.如对全部元素赋初值,则第一维的长度可以不给出。
例如: static int a[3][3]={1,2,3,4,5,6,7,8,9}; 可以写为:static int a[][3]={1,2,3,4,5,6,7,8,9};
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
kakarot23
2010-08-01 · TA获得超过255个赞
知道小有建树答主
回答量:384
采纳率:0%
帮助的人:320万
展开全部
C是正确的

p是指针数组

即p[0]是一个指针

而a是二维数组的首地址

p[0] = a[0]也是正确的
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式