数组与指针

1626-5-刘小铭总结《2016年10月21日》【连续21天总结】
标题:数组与指针
关键词:用指针法表示数组元素
内容:
         A、一句话概括今日目标完成情况

            一维数组与指针:100%

            二维数组与指针:80%

         B、具体内容:

                       虽然记住了一维数组与指针的一些使用方法,但已经与其他的用法产生了混淆。下午没事,看来要用写实例来练练手。 

                       首先,对于昨天所学做个补充,昨天的算术运算中漏了一点,指针的算术运算与数学运算不同。指针的算术运算与指针指向的变量类型有关,int型,p+1相当于p+4.

                      一维数组与指针:C++语言规定一维数组的数组名是第一个元素的地址。其次所要了解的就是数组元素的不同表示形式。如指针变量p,a[i]的地址可以用a+i表示。(即数组的首地址+i),而元素就是*(a+i),所以*(a+i)与a[i]是等价的。p又指向数组的首地址,所以*(a+i)与*(p+i)等价,所以一个元素共有四种表示方法。*(a+i)、a[i]、*(p+i)、p[i]。

                      二维数组与指针:二维数组的指针可以用p=&a[0][0],这种形式表示,即下标法表示。而因为二维数组可以看做几个一维数组组成,所以可以用二维数组的行地址,如int a[3][4],a为行元素数组的名字,a代表&a[0],即0行的地址。a+1代表&a[1],即1行的地址。                           a[0]相当于是一个数组名,这个数组中有4个元素,所以类似于一维数组,a[0]代表这个一维数组的首元素的地址,a[0]+1就是下一个元素的地址。(我个人感觉这就是一种整体思想的应用)。那么a[0]+1相当于&a[0][1],即a[i]+j相当于&a[i][j].所以*(a[i]+j)等价于a[i][j]。而在一维数组中,a[i]等价于*(a+i),所以把这些结合起来,就是*(*(a+i)+j)等价于a[i][j]。(*(a+i)+j)就是二维数组元素的指针法表示。(指针法表示就是一步步等价替换而来)

                  虽然,二维数组的指针法表示自己已经彻底理解,一步步也能够由下标法弄出来,但估计在编程时,不会太熟练运用。

         C、明日计划:行指针,字符指针,指针数组学习

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值