C语言系列4——指针与数组(1)

news/2024/12/22 15:16:53/

我们开始C语言的指针与数组

这部分开始进阶了,得反复学习


在开始正题之前,写说一下我们都知道当写一个函数的时候需要进行传参,当实参传递给形参的时候,形参是有独立空间的,那么数组传参又是怎么样的呢,我们来进入今天的话题

一、一维数组与指针

首先有这么几行代码

#include <stdio.h>
int main() {int a[3] = { 0 };printf("%p\n", &a);printf("%p\n", a);printf("%p\n", &a[0]);return 0;
}

 

我们发现它们结果是一样的,但是我们要注意, printf("%p\n",&a);  打印的其实是整个数组的地址,而剩下两个则打印数组首元素的地址

你就想嘛,&a 取的是整个数组,而一个 a 默认就是首元素的地址了,此时我们加一,打印的第一条语句应该比剩下两条语句多8,因为会跳 3*4个字节,而其它两条语句则只跳过4个字节,那我们来对比一下~

我们发现,结果如我们所料 

二、二维数组与指针

那么二维数组又是怎样的呢

其实二维数组就相当于它的第一行就是首元素,数组名是首元素也就是第一行的地址

这里用图片给大家展示一下

大家下来可以试试用二维数组传参


就先到这里

加油


http://www.ppmy.cn/news/1533371.html

相关文章

Raft 协议解读:简化分布式一致性

文章目录 1. 分布式系统与一致性问题1.1 什么是分布式系统1.2 一致性在分布式系统中的重要性1.3 分布式一致性挑战1.4 现有一致性协议1.5 Raft 的设计目标 2. Raft 协议的背景与介绍2.1 Raft 协议的诞生背景2.2 什么是 Raft2.3 Raft 解决的一致性问题2.4 Raft 的设计原则2.5 Pa…

项目-立项管理

定义&#xff1a;是对拟规划和实施的项目技术上的先进性、适用性&#xff0c;经济上的合理性、效益性&#xff0c;实施上的可能性、风险性以及社会价值的有效性&#xff0c;可持续性等进行全面科学的综合分析&#xff0c;为项目决策提供客观依据的一种技术经济研究活动。包括项…

支持分页的环形队列

支持分页的环形队列 源码解析PageCircularQueue 类readonly 函数PageCircularQueue.new 函数PageCircularQueue:enqueue 函数PageCircularQueue:dequeue 函数PageCircularQueue:peek 函数PageCircularQueue:reverse_peek 函数PageCircularQueue:isFull 函数PageCircularQueue:i…

微服务jvisualvm解析部署使用全流程

1、介绍 VisualVM 是Netbeans的profile 2、启动 进入正在使用的jdk下bin目录&#xff0c;运行jvisualvm.exe。 3、选中要监控的线程 4、安装gc插件 5、插件安装报错 VisualVM: Plugins Centers 访问这个地址&#xff0c;找到对应版本再配置 https://visualvm.github.io/uc/…

Scrapy入门

Scrapy是一个用Python实现的快速、高层次的屏幕抓取和web抓取框架&#xff0c;主要用于抓取web站点并从页面中提取结构化的数据。 安装 pip install scrapy 创建Scrapy项目 使用scrapy startproject命令创建一个新的Scrapy项目。例如&#xff0c;创建一个名为myproject的项…

测试用例的进阶二

1. 按开发阶段划分 1.1 测试金字塔 从上到下&#xff0c;对于测试人员代码就是要求越来越低&#xff1b; 从下到上&#xff0c;越来越靠近用户&#xff1b; 从下到上&#xff0c;定位问题的成本越来越高&#xff1b; 1.2 单元测试(Unit Testing) 单元测试是对软件组成单元进…

开发微信小程序 基础02

WX模板 1.对比 ①标签名称不同 ②属性节点不同 ③提供类似vue的模板语法 2.模板语法 2.1数据动态绑定 2.1.1在data种定义数据 在页面对应的.js文件中&#xff0c;把数据定义到data对象中即可 例---data &#xff1a; { info : init data , msList : [{msg : hello}, { ms…

Git的相关使用(工作常用)

一、撤销的相关命令&#xff08;重要&#xff01;&#xff01;&#xff01;&#xff09; 1. 使用 git reset &#xff08;a&#xff09;软重置 如果你想撤销最近的提交&#xff0c;但保留文件的更改&#xff08;即将它们放回暂存区&#xff09;&#xff0c;可以使用&#xff1a…