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

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

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


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

一、一维数组与指针

首先有这么几行代码

cpp 复制代码
#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个字节,那我们来对比一下~

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

二、二维数组与指针

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

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

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

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


就先到这里

加油

相关推荐
点云SLAM几秒前
四元数 (Quaternion)微分-四元数导数的矩阵表示推导(8)
线性代数·算法·计算机视觉·矩阵·机器人·slam·四元数
我的golang之路果然有问题6 分钟前
mac配置 unity+vscode的坑
开发语言·笔记·vscode·macos·unity·游戏引擎
潼心1412o9 分钟前
数据结构(长期更新)第8讲:队列
数据结构
铅笔小新z23 分钟前
【C++】从理论到实践:类和对象完全指南(上)
开发语言·c++
rainFFrain29 分钟前
qt显示类控件---QCalendarWidget
开发语言·qt
kyle~34 分钟前
算法---贪心算法(Greedy Algorithm)
算法·贪心算法
fashion 道格39 分钟前
C 语言数组拼接:从基础实现到细节优化
算法
蓁蓁啊43 分钟前
ARM交叉编译中编译与链接参数不一致导致的问题
开发语言·arm开发·嵌入式硬件
go_bai44 分钟前
Linux-线程
linux·开发语言·c++·经验分享·笔记
咖啡の猫44 分钟前
Python中的输出函数
开发语言·数据库·python