二维数组和数组指针

2023-11-03

二维数组

int arr[3][4];

  • 每个元素arr[0],arr[1],arr[2]等价于一维数组名,所以也是子数组的首地址,3个一维数组分别有4个元素。
  • 二维数组名arr是首地址,可以理解为指向第一个子数组的数组指针,如int (*p)[4] = arr。所以对“指针”arr取内容*arr就是第一个子数组名。区别是sizeof(arr)等于整个二维数组的存储空间大小,可见数组名代表了整个数组;而sizeof(p)只是等于一个指针变量的存储空间大小。
  • 二维数组名是地址,+1偏移一个子数组的大小,如int arr[3][4],偏移16个字节。偏移后指向第二个子数组。通过取内容*(arr+1)得到子数组名(首地址)arr[1]。

数组指针

指向一维数组的指针。

int arr[3];
int (*p)[3] = &arr;//指向一维数组
//int (*p)[3] = arr;这样会warning,虽然值相同但类型不同,因为arr是(int*)类型,加上&arr才是(int (*)[])数组指针类型

int multiarr[3][4];
int (*p2)[4] = multiarr;//指向二维数组中的第一个一维数组

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

二维数组和数组指针 的相关文章

  • Android反编译apk逆向分析

    Android反编译apk 反编译 逆向 软件下载地址 反编译 逆向 反编译 高级语言源程序经过 编译 变成可执行文件 反编译就是逆过程 但是通常不能把可执行文件变成高级语言源代码 只能转换成汇编程序 计算机软件反向工程 Reversepe
  • QNX网络驱动-设备驱动编写处理方式

    锋影 e mail 174176320 qq com 第一部分 QNX系统的安装与使用 1 QNX的微内核 甚至不包括进程管理 仅提供进程间的通信 Software Bus 但在实际编译的系统中 仍然是进程调度 同步 进程间通信等编译在同一
  • Spring的基本使用

    大家好我是栋zzzz 今天介绍一下Spring的基本使用 为了更好的熟悉Spring 可以先看一下我前面的文章 初识Spring 目录 一 Spring的创建和使用 1 创建一个Maven项目 2 添加Spring框架支持 3 添加启动类

随机推荐

  • YOLO系列训练时出现loss出现nan值或者测试时P\R\map全部为0值的解决办法(GTX16xx系列显卡大坑)

    目录 0 前言 用处不大 可以直接看解决办法 1 产生问题的原因 2 解决办法 YOLO V5 YOLO V7 2 小结 这个问题是GTX16xx用户的大坑 基本上每个GTX16xx用户使用YOLO系列算法 都会遇到这些问题 这个方法是不彻
  • zutuanxue.com-linux磁盘管理基本管理

    linux磁盘管理基本管理 开课 本章我们将学习到磁盘管理的相关知识 这部分知识在我们以后的工作中非常重要 它可以让我们知道如何去规划磁盘 如何去使用磁盘 如何去提高磁盘的利用率 这些都会影响服务器的性能和效率 而服务器性能和效率会影响到我
  • 聪明的人脸识别1——Keras 搭建自己的Facenet人脸识别平台

    聪明的人脸识别1 Keras 搭建自己的Facenet人脸识别平台 学习前言 什么是Facenet 源码下载 Facenet的实现思路 一 预测部分 1 主干网络介绍 2 根据初步特征获得长度为128的特征向量 3 l2标准化 4 构建分类
  • H5页面跳转关注微信公众号页面

    实现点击就跳转到关注公众号的页面 实现点击就跳转到关注公众号的页面 如下图 如果已关注 就会是发消息 如果未关注 发消息的按钮就会是关注 实现步骤 1 登录 微信公众号 后台 F12打开网页调试模式 2 打开Sources 搜索 uin b
  • HashMap中put方法(白话加源码分析)

    一 首先不看代码用白话分析一下流程 我们在使用put方法的时候会传进key和value参数 在我们将这两个参数传入后 第一步 我们的put方法会去判断这个hashmap是否为null 或者长度是否为0 如果是则对hashmap数组进行res
  • 数据处理:归一化与标准化

    归一化与标准化 归一化和标准化是数据预处理时常用的方法 它们都可以将数据映射到特定的区间内 但是具体的实现方式和应用场景有所不同 1 归一化与标准化的相同点 都能够处理特征值之间的差异性 避免特征值之间的度量不一致或者差异过大 都可以提高模
  • openseadragon实战系列基础篇(有你想要的干货)

    序言 如果你正在寻找openseadradgon的相关资料 那么我相信你一定清楚了这个插件的作用 这里就不再赘述了 openseadragon所支持的图像协议可以在官网找到 https openseadragon github io exa
  • Jvm类加载机制详解--类加载的几个阶段

    虚拟机把描述类的数据从Class文件加载到内存 并对数据进行校验 转换解析和初始化 最终形成可以被虚拟机直接使用的Java类型 这就是虚拟机类加载机制 在Java语言中 类的加载 连接和初始化过程都是在程序运行期间完成的 这是java作为动
  • 使用servlet实现用户登录

    本文简单讲述使用servlet实现用户登录 包括用户登录 退出和注册等 1 关于servlet 1 1概述 Servlet Server Applet 全称Java Servlet 未有中文译文 是用Java编写的服务器端程序 其主要功能在
  • react usecontext_鬼才!我居然把 Vue3 的原理用到了 React 上?

    前言 vue next是Vue3的源码仓库 Vue3采用lerna做package的划分 而响应式能力 vue reactivity被划分到了单独的一个package中 如果我们想把它集成到React中 可行吗 来试一试吧 使用示例 话不多
  • 什么是基于模型设计(MBD)?

    MBD Model based Design 是什么 随着嵌入式行业的快速发展 MBD作为解决专家紧缺 国内解决方案匮乏的新软件开发方式备受关注 MBD是一种通过建模自动生成代码的 Auto generation Code 开发方式 可以说
  • 对STDOUT_FILENO的理解

    分类 嵌入式 在linux系统调用中 标准输入描述字用stdin 标准输出用stdout 标准出错用stderr表示 但在一些调用函数 引用了STDIN FILENO表示标准输入才 同样 标准出入用STDOUT FILENO 标准出错用ST
  • 深入讲解set_multicycle_path多周期约束---实战篇

    设计一个FIFO并且在VIVADO中进行时序约束和时序分析 1 demo背景 设计一个异步的FIFO 2 FIFO时钟的周期约束 create clock period 2 500 name fifo wr clk waveform 0 1
  • Linux文件夹分析

    Linux文件夹分析 1 bin usr bin usr local bin 都是放置用户可执行二进制文件 2 boot 主要是放置Linux系统启动时用到的文件 3 dev 文件夹内主要是西东外设与存储有关的一些相关文件 4 etc 设置
  • 解决ssh 登陆失败: no matching host key type found. Their offer: ssh-dss

    gedit ssh config 加入内容 ssh server为要登录的地址 Host ssh server HostKeyAlgorithms ssh dss 具体内容可看 Using OpenSSH with legacy SSH i
  • 15、Access数据库偏移注入

    前言 本来想好好介绍一下Access数据库的偏移注入 找个目标来试试 但是找了好久都没有找到 又想自己要不在本地搭建一个 额 还是算了吧 没有太多的时间 之后在网上搜索了一些 偏移注入 看看其他人是否有写这个方面的资料 但是非常少 不过还是
  • js数组的方法

    1 push 数组末尾添加 2 unshift 数组头部添加 3 some 4 findIndex 返回数组中满条件的第一个元素的索引 若找不到 返回 1 const ccc 1 2 3 4 const idx ccc findIndex
  • grafana对指标进行组合计算

    在使用Grafana配置图表看板时 我们可能需要对多个查询条件筛选出来的结果进行计算 把计算结果生成最终的图表 此时需要用到transform功能 add field from calculation
  • 2022年高教社杯全国大学生数学建模竞赛-【赛题解析篇】E题:小批量物料的生产安排(附MATLAB代码)

    前言 最近发现一个关于数学建模比较好的专栏 需要的小伙伴可移步 数学建模应用 算法实战案例精讲300篇 持续更新ing 赛题描述 某电子产品制造企业面临以下问题 在多品种小批量的物料生产中 事先无法知道物料的 实际需求量 企业希望运用数学方
  • 二维数组和数组指针

    二维数组 int arr 3 4 每个元素arr 0 arr 1 arr 2 等价于一维数组名 所以也是子数组的首地址 3个一维数组分别有4个元素 二维数组名arr是首地址 可以理解为指向第一个子数组的数组指针 如int p 4 arr 所