从零开始的c语言日记day37——数组指针练习

一、

取地址数组储存在了*p里,里面储存的是整个数组的地址但本质也是第一个元素的地址解引用后+1为4个字节所以就可以打印数组了。但一般不用这种方法

这样更方便一些

  • 打印多维数组

如果不用这样传参,用指针传参怎么做呢?

Main里函数的arr表示首元素地址也就是第一行的地址,第一行的地址是一个一维数组的地址。数组的地址放在数组指针,这个指针传到上面解释为指针(*p)指向5个元素,5个元素{5}为int类型,但因为下面只传了一行的地址所以函数只接收一行的地址。

Arr为一行元素地址那么+1就可以直接跳过一行到第二行

打印位置也可以改为p【i】【j】

P+1等一第一行的地址,当给他解引用*(p+i)和对第一行的地址解引用,相当于拿到了第一行,等于p{i}。*(p+i)相当于第i行的数组名arr{0},数组名相当于首元素地址,首元素地址就是起始位地址。

注意一维数组和二维是不一样的,一维数组的首元素地址是第一给,二维是第一行

练习

判断下列程序是什么?

Int arr[5]; arr是整形数组

Int *parr[10]; parr1是整形指针数组

Int (*parr2)[10]; parr2是数组指针

Int (*parr3[10])[5]; parr3是存放数组指针的数组

相关推荐
希望奇迹很安静42 分钟前
SSRF_XXE_RCE_反序列化学习
学习·web安全·ctf·渗透测试学习
程序员编程指南43 分钟前
Qt 网络编程进阶:RESTful API 调用
c语言·网络·c++·qt·restful
悦悦子a啊1 小时前
Python之--字典
开发语言·python·学习
程序员编程指南1 小时前
Qt XML 与 JSON 数据处理方法
xml·c语言·c++·qt·json
kmjyccc1 小时前
生活毫无头绪就毫无头绪吧(7.24)
学习·生活
heyilunv2 小时前
昇思学习营-Deepseek-r1-distill-qwen-1.5b模型开发与适配课程内容和学习心得
学习
胡耀超3 小时前
我们如何写好提示词、发挥LLM能力、写作指南:从认知分析到动态构建的思维方法
人工智能·python·学习·大模型·llm·提示词·八要素思维
waveee1233 小时前
学习嵌入式的第三十一天-数据结构-(2025.7.23)网络协议封装
学习
程序员编程指南3 小时前
Qt 网络编程进阶:网络安全与加密
c语言·网络·c++·qt·web安全
冷崖4 小时前
Redis缓存策略以及bigkey的学习(九)
redis·学习·缓存