(专升本) 指针小骚题

本文通过一道专升本备考题目,探讨了指针在数组中的运用。题目中,通过`int *w[3] = {&a, b, &b[2]}`定义了一个指针数组w,分别存储了变量a的地址、数组b的地址和b的第三个元素的地址。通过解析w[i][j]的含义,解释了如何从指针数组中获取对应值,如w[0][0]为10,w[1][1]为4,w[2][0]为6。文章以直观的方式帮助读者理解指针与数组之间的关系。" 89218706,8489386,C#初学者贪吃蛇程序实现指南,"['C#编程', '游戏开发', 'Windows应用', '初级教程']
摘要由CSDN通过智能技术生成

内个,说两句,前几天有个大三正在备考的学姐在群里问了一道题,我觉得挺有意思。放题:
在这里插入图片描述
炸一看可能有点懵,但是不要慌,各位,看我表演哈。

首先 int a = 10; 定义了一个int类型的变量a,开辟了一个int大小的内存名字叫a,里面有一个10。
又int b[ ] = {2,4,6,8}; 又定义了一个int类型的数组,同理,放图在这里插入图片描述
接下来关键了啊,int * w[3] = {&a , b , &b[2] };可以这么看 :定义了一个w类型是int*

这么就有人问了,这都是啥子啊 :&a是a的地址 b就是b &b[2] 是b[2]的地址 这三个东东分别存进了int* w[0],int* w[1],int* w[2]。

最后输出的是w[0][0 。看到这里就看出来了 w是一个二维数组,先假设都是3个索引值的: 然后放图在这里插入图片描述重点就是这些表格里代表的内容是什么!

**因为 第二行的int * w[3] ,可以看出w[0]存的是a的地址,所以输出w[0][0 就是输出w[0 这段地址上的值 又因为a=10 所以w[0[0 = 10 **
第二行因为 int * w[1] = b 所以可以看出来w[1]这行存放的值是数组b 因为b就是数组b的地址 因此 w的第二行存放的值就是b的第一个值2,因为数组b的地址上的值就是数组的第一个值也就是b[0] = 2
w[1][1就是b[0 后面的b[1 也就是 4。w[1[2就是6 因为之前假设w的索引是3 所以没有w[1[3了 如果有就是 8。
最后 w[2[0 还是同理第一个w[0][0 存的是b[2

自己花了一个草图 上面是自己编的内存地址 然后应该是连续的 因为方便 a和b就不连续了
在这里插入图片描述

如果哪里错了 。。。那就错吧。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值