vc++6.0中_vc++6.0中的二维数组指针

原问题:vc++6.0中的二维数组指针
分类:编程开发 > 最后更新时间:【2017-02-18 13:20:07】
问题补充:

score不是和score[0],*score,&score[0][0]一样吗,为何出现了不同的结果

最佳答案

score是二维数组名,指向一维数组score[0]的首地址,即第0行的 首 地址(因为是首地址,所以等价于score[0][0]的地址),这是个行指针(一维数组名指向元素的首地址,为列指针;二维数组名指向一维数组的首地址,为行指针)

一维数组名score[0],指向第0列元素(score[0][0])的地址,这是个列指针

*score即取出了一维数组名score[0],而一维数组名score[0]指向第0列元素(score[0][0])的地址,这是个列指针

&score[0][0]即取score[0][0](第0行0列元素)的地址,也就是一维数组名score[0]的值(因为它指向第0列元素元素的地址)

综上所述,

score等价于*score等价于&score[0][0]等价于score[0]

也就是他们全部相等(我照抄了你的程序没有发现什么问题)

最佳答案由网友    提供
公告: 为响应国家净网行动,部分内容已经删除,感谢网友理解。
15

分享到:

其他回答

暂无其它回答!

    推荐