问问题描述
答精选答案

a类型是属于type *(type是你事先给a定义的类型)的,即type型指针。
所以a的值是一个内存地址。若a是一维数组,则a指向的是第一个元素。若a是二维数组,也可以将a看成一个一维数组,那么其元素是其行向量。例如{{2,2},{3,4}}。既然a又看成一维数组,那么*a即是其第一个“元素”——其第一行。而第一行亦是一个数组,所以*a是第一行这个数组的指针。那么,**a即第一行的第一个元素a[0][0],而*(*a+1)则是第一行的第二个元素a[0]。下面的例子中,说明a与*a的值相同,但是需要注意的是地址相同,也并不意味着他们的指向的地方相同。事实不仿试一下a+1与*a+1,会发现二者并不相等。正是因为其意义不同。正是其意义的不同,所以可以通过地址运算,表示出相应位置的元素,比如说*(*(a+1)+1),表示的就是a。若a是高维的,其本质还是数组的嵌套,所以根据上面的方法易得出。下面这个例子正是一个很好的说明吧。(其实我是看到这里才明白是怎么回事的。)
本文来自作者[haerbintiedaozhiyejishuxu]投稿,不代表公众科技网立场,如若转载,请注明出处:https://www.cpst.net.cn/know/2071399.html
评论列表(4条)
我是公众科技网的签约作者“haerbintiedaozhiyejishuxu”!
希望本篇文章《什么是数组维数》能对你有所帮助!
本站[公众科技网]内容主要涵盖:教育咨询,知识百科
本文概览:a类型是属于type *(type是你事先给a定义的类型)的,即type型指针。所以a的值是一个内存地址。若a是一维数组,则a指向的是第一个元素。若a是二维数组,也可以将a看成一个一维数组,那么其元素是其行向量。例如{{2,2},{3,4}}。既然a又看成一维数组,那么*a即是其第一个“元素”——其第一行。而第一行亦是一个数组,所以*a是第一行这个数组的指针。那么,**a即第一行的第一个元素a[0][0],而*(*a+1)则是第一行的第二个元素a[0]。下面的例子中,说明a与*a的值相同,但是需要注意的是