从零开始的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是存放数组指针的数组

相关推荐

  1. 开始学习嵌入式----C语言数组指针

    2023-12-05 15:42:11       31 阅读
  2. 开始C语言第五天(练习

    2023-12-05 15:42:11       24 阅读
  3. 开始学习嵌入式----C语言指针函数

    2023-12-05 15:42:11       22 阅读
  4. C++开始打怪升级之路(day35)

    2023-12-05 15:42:11       56 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-05 15:42:11       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-05 15:42:11       100 阅读
  3. 在Django里面运行非项目文件

    2023-12-05 15:42:11       82 阅读
  4. Python语言-面向对象

    2023-12-05 15:42:11       91 阅读

热门阅读

  1. kafka的详细安装部署

    2023-12-05 15:42:11       43 阅读
  2. PTA 7-229 sdut-C语言实验- 排序

    2023-12-05 15:42:11       48 阅读
  3. boost库---circular_buffer用法

    2023-12-05 15:42:11       63 阅读
  4. CentOS部署python Flask项目

    2023-12-05 15:42:11       61 阅读
  5. Vue封装组件 父子组件相互传值

    2023-12-05 15:42:11       55 阅读
  6. CSS进阶

    CSS进阶

    2023-12-05 15:42:11      50 阅读
  7. Kubernetes 使用插件扩展 kubectl

    2023-12-05 15:42:11       60 阅读