
C++中 中括号(' [ ] ')什么时候进行读,什么时候进行写。
C++中中括号('[]')什么时候进行读,什么时候进行写。例如在数组中a[1]=10;中括号进行写操作;x=a[1]进行写操作;请大神总结~~感激不尽...
C++中 中括号(' [ ] ')什么时候进行读,什么时候进行写。
例如在数组中a[1]=10;中括号进行写操作;x=a[1]进行写操作;
请大神总结~~感激不尽 展开
例如在数组中a[1]=10;中括号进行写操作;x=a[1]进行写操作;
请大神总结~~感激不尽 展开
4个回答
展开全部
首先你要理解,数组是在内存中申请一段连续的内存空间
其次,数组名相当于指针,而数组名就是直指向这段内存空间的首地址的指针
而[]中的数字是相对于首地址的偏移量,
如a[N]数组,a指向0000这个内存空间,那么a[1]就表示0001这个内存空间中的数据
所以a[i]和*(a+i)表示的是同一个数据
[]中的数据只是代表一个偏移量,
例如在数组中a[1]=10;中括号进行写操作;x=a[1]进行写操作;
是对a[1]进行操作,而不是对1进行操作
其次,数组名相当于指针,而数组名就是直指向这段内存空间的首地址的指针
而[]中的数字是相对于首地址的偏移量,
如a[N]数组,a指向0000这个内存空间,那么a[1]就表示0001这个内存空间中的数据
所以a[i]和*(a+i)表示的是同一个数据
[]中的数据只是代表一个偏移量,
例如在数组中a[1]=10;中括号进行写操作;x=a[1]进行写操作;
是对a[1]进行操作,而不是对1进行操作
展开全部
a[1]=10是赋值,把10保存在a[1]中,也就是写入a[1]中,后面的x=a[1]是表示把a[1]中保存的数赋给x,也就是写入x变量
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你把a[1]看做一个变量,这样就好理解了
一定要详说的话:作右值读,作左值写
一定要详说的话:作右值读,作左值写
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
其实很简单,首先a是一个数组或者是指向一个数组的指针,a[1]表示去这个数组中下标为1的数据,也就是数组中第二个数据,如果a[1]在等号左边,也就是a[1]=10;表示把10赋给a[1],那么a[1]的值就是10,而x=a[1]表示把a[1]赋值给x,那么x的值就是10了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询