C语言指针学习笔记

news2024/9/23 3:11:31

1-二维数组指针

  1. int a[3][4]
  2. a代表二维数组首元素的地址,此首元素不是一个简单的整形元素,而是由4个整形元素组成的一维数组,因此a代表的是首行(序号为0的行)的起始地址
  3. a+1代表序号为1的行的起始地址。a指向a[0],    a+1指向a[1]或者说a+1的值是a[1]的起始地址,a+2代表a[2]的起始地址,若a的值是2000,则a[2]的值是2032.  
  4. 若二维数组的首行起始地址为2000,一个整形数据占4个字节,即a的地址是2000,则a+1的值应该是2000+4*4=2016
  5. a[0],a[1],a[2]既然是一维数组名,从前面已知数组名代表数组首元素地址,因此a[0]代表一维数组a[0]中第0列元素的地址,即&a[0][0].同理a[1]的值是&a[1][0].
  6. 怎样表示a数组0行1列元素的地址?a[0]是一维数组名,该一维数组中农序号为1的元素的地址应该用a[0]+1来表示。
  7. 总结:
    1. a[0]+0,  a[0]+1, a[0]+2, a[0]+3, 分别表示元素a[0][0],a[0][1],..a[0][3]的地址
    2. a指向a[0],    a+1指向a[1],a[0]代表一维数组a[0]中第0列元素的地址
    3. 一维数组中,a[0]和 *(a+0)等价,a[1]和*(a+1)等价,因此二维数组中a[0]+1和*(a+0)+1都是&a[0][1],即a[0]+1和*(a+0)+1都是地址。a[1]+2与*(a+1)+2都是&a[1]+2.
    4. 进一步分析,欲得到a[0][1]的值,用地址法怎么表示呢?
      1. 既然a[0]+1和*(a+0)+1等价,则:
      2. *(*(a+0)+1)就是a[0][1]的值;
      3. *(a[0]+1)也是a[0][1]的值;
      4. *(*a+1)也是a[0][1]的值;
      5. 总结:*(a+i)和a[i]是等价的。
  8. 二维数组a的有关指针总结              
  9.  

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/547095.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

一个月50场面试,跑的慢就抢在别人前面!

300万字!全网最全大数据学习面试社区等你来! 今天的主人公也是一个应届生新人拿到满意offer的案例。 下面是一些聊天记录和面经,这名同学做的非常好的一个点,他把个人项目中的所用到的技术栈和项目具体的业务流程图以及用到的技术…

2年再见面

我和张哥是在两年前吃过饭,那时候我是在大学城上班。 两年前,张哥在微信上跟我说话,说要来深圳找我,问我什么时间方便,请我吃个便饭。两年前,公众号还比较火热。有挺多人找我做事情,找我做事情之…

桥梁安全监测,智能化桥梁结构健康监测方案

桥梁是现代城市交通网络中不可或缺的组成部分,但由于长期受到自然环境和人为因素的影响,桥梁的安全问题一直备受关注。传统的桥梁检测方式主要是靠人力进行巡查,这种方式效率低下、成本高,而且难以全面掌握桥梁结构的真实情况。随…

回顾 | Let's Learn .NET-通过 Semantic Kernel .NET SDK 管理你的 OpenAI 项目

点击蓝字 关注我们 编辑:Alan Wang 排版:Rani Sun Lets Learn .NET 系列 “Lets Learn .NET” 是面向全球的 .NET 初学者学习系列,旨在通过不同语言,帮助不同地区的开发者掌握最新的 .NET 开发知识与技能。 在 ChatGPT 与 OpenAI…

从零玩转设计模式之简单工厂设计模式-jiandangonchangmoshi

title: 从零玩转设计模式之简单工厂设计模式 date: 2022-12-08 11:31:19.472 updated: 2022-12-11 23:03:34.805 url: https://www.yby6.com/archives/jiandangonchangmoshi categories: - 设计模式 tags: - 设计模式 简单工厂模式是一种创建型设计模式,用于创建单…

Docker安装MinIO教程

本章教程,主要介绍一下,如何在Linux用Docker安装MinIO。 MinIO是一个高性能、分布式对象存储系统,支持S3 API,适用于云原生环境。MinIO可以在标准硬件上运行,并且具有低延迟、高吞吐量、高可用性和可扩展性等优势。Min…

C语言两百行代码实现简易扫雷

文章目录 前言一.代码实现二.设计思路main()函数搭建框架reset ( )函数dis_play( )函数setmine( )函数player_move( )函数 前言 扫雷应该是我们接触到的第一个电脑游戏,用c语言实现扫雷对初学者来说是一个不错的锻炼 编写扫雷只需要用到数组、函数和生成随机数的知…

Java文件与IO流

首先我们要清楚什么是流,正如其名,很形象,流就是像水一样的东西,具有方向性,在java中 ,流大概就是类 接下来,我们要对输入输出流有一个基本认识,什么是输入输出流呢? 输入…

漏斗分析、 python学习路径地图、数据科学技能书知识地图、数据安全治理解决方案、AIGC发展研究、经营的本质…| 本周精华...

▲点击上方卡片关注我,回复“8”,加入数据分析领地,一起学习数据分析,持续更新数据分析学习路径相关资料~(精彩数据观点、学习资料、数据课程分享、读书会、分享会等你一起来乘风破浪~)回复“小飞象”&…

【计算机组成原理】(四)原码补码的加减乘除

各种码的作用: 模运算的性质: -3(-1)*129 90*129 211*129 332*129 -15(-2)*129 我们发现等号右边都是9,相当于等号的左边的数除去12的余数都是9 那我们就说这几个等好左边的数&#xff0…

从零玩转设计模式之原型模式-yuanxingmoshi

title: 从零玩转设计模式之原型模式 date: 2022-12-11 20:05:35.488 updated: 2022-12-23 15:35:44.159 url: https://www.yby6.com/archives/yuanxingmoshi categories: - 设计模式 tags: - 设计模式 - 原型模式 什么是原型模式设计模式? 原型模式是一种软件设计模式&#…

【Rust 日报】2023-05-19 Bevy主分支添加了对WebGPU的支持

cascade-protocol Rust实现的 Cascade information reconciliation protocol for Quantum Key Distribution (QKD) 量子键分布?好像是密码学相关的。 隔行如隔山,小编也不懂这个具体是干啥的。感兴趣的同学可以前去研究。 https://github.com/gftea/casc…

SSR 应用与原 CSR 应用变更同步问题实践

在上一篇介绍《天猫汽车商详页的SSR改造实践》一文中提到过,为免影响线上应用,我们的一体化应用(后面简称称 SSR 应用)是在原 CSR 项目基础上另起的应用仓库。 背景 当商详业务有新需求迭代,CSR 仓库发生了变化&#x…

Java基础学习(18)反射、动态代理

Java基础学习 一、反射1.1 什么是反射1.2 获取class对象 二、综合练习2.1 保存信息2.2 文件的动态创建 三、动态代理3.1 什么是动态代理3.2 创建代理 一、反射 1.1 什么是反射 反射允许对封装类的字段,方法和构造函数的信息进行编程访问 个人理解: 就是…

【JVM】5. 本地方法接口和本地方法栈

文章目录 5.1. 什么是本地方法?5.2. 为什么使用Native Method?5.3. 本地方法栈 5.1. 什么是本地方法? 简单地讲,一个Native Method是一个Java调用非Java代码的接囗。一个Native Method是这样一个Java方法:该方法的实现…

【007】C++数据类型之原码、补码、反码

C数据类型之原码、补码、反码 引言一、原码、补码、反码的概述二、为什么要使用补码?三、对数据的存四、对数据的取总结 引言 💡 作者简介:专注于C/C高性能程序设计和开发,理论与代码实践结合,让世界没有难学的技术。包…

KingbaseES V8R3 集群运维案例--sys_rewind恢复备库节点

​ 案例说明: 在KingbaseES V8R3集群执行failover切换后,原主库被人为误(未配置recovery.conf)启动;或者人为promote备库为主库后。需要将操作节点再重新加入集群,此时节点与主库的timeline将出现分叉,导致节点直接加入…

ChatGLM-6B 本地部署指南!

Datawhale干货 作者:宋志学,Datawhale成员 注意事项-写在最前 显卡需要至少6GB的显存使用GPU部署模型需要自行安装torch和与自己显卡匹配的CUDA、cudnn 下载ChatGLM-6B 在GitHub上下载chatglm-6b的源码,地址如下 https://github.com/THUDM/C…

信息安全-应用安全-SCA技术:SBOM应用实践初探

目录 软件供应链安全治理 供应链安全概述 风险治理重点 何为SBOM SBOM的元素 SBOM的格式 SBOM使用场景 如何使用SBOM 选择SBOM工具 SBOM与风险情报关联 围绕SBOM建立管理流程 关于SBOM的思考 现代软件都是组装的而非纯自研。随着开源组件在数字化应用中的使用比例越…

【C++】运算符重载与赋值运算符重载(显式与默认)的特性与格式以及前置++,后置++重载

文章目录 前言一、运算符重载二、赋值运算符重载1. 赋值运算符重载格式:2. 用户没有显式实现时,编译器会生成一个默认赋值运算符重载,以值的方式逐字节拷贝。3. 赋值运算符只能重载成类的成员函数不能重载成全局函数 三、前置与后置 前言 C为…