本文介绍: 自己的笔记,关于数组指针

一、

地址数组储存在了*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是存放数组指针的数组

原文地址:https://blog.csdn.net/bearbearwww/article/details/134678145

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。

如若转载,请注明出处:http://www.7code.cn/show_4753.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注