当前位置: 首页 > news >正文

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

http://www.lryc.cn/news/246793.html

相关文章:

  • codeforces 1851F
  • js把格式为YYYY-MM-DD HH:mm:ss的时间转换为UTC时间ISO 8601格式
  • 使用 Java 来读取 Excel 文件,检查每一行中的 URL,并将不符合条件的行标记为红色
  • 雷达公式实现(matlab)
  • CMake构建一个转换为3d tile的开源代码成功
  • Java线程通信
  • 计算4人队形的最可能分布
  • 如何解决 Java 中的 IllegalArgumentException 异常?
  • Vue 双向数据绑定
  • 电脑开机过程中,程序的启动的顺序是怎么样的?
  • JSON详细教程
  • DSP介绍及CCS
  • 周期串(Periodic Strings)
  • C语言——猜凶手
  • 【TiDB】TiDB离线方式部署
  • android shape绘制半圆
  • 【开源】基于Vue和SpringBoot的个人健康管理系统
  • qt QString字符串常用转换
  • JAVA sql 查询3
  • PHP while 和 do-while 循环 学习资料
  • OpenJudge NOI 1.8 16:矩阵剪刀石头布 c语言
  • mysql 性能参数调优详解
  • 基于.net framework4.0框架下winform项目实现寄宿式web api
  • Vue中项目进行文件压缩与解压缩 (接口返回文件的url压缩包前端解析并展示出来,保存的时候在压缩后放到接口入参进行保存)
  • Linux shell编程学习笔记31:alias 和 unalias 操作 命令别名
  • Django JSONField/HStoreField SQL注入漏洞(CVE-2019-14234)
  • Unity中Shader的Standard材质解析(一)
  • 5.1 Windows驱动开发:判断驱动加载状态
  • Linux之高级IO
  • 进程和线程的关系