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

C 语言数据结构基石:揭开数组名的面纱与计算数组大小

各类资料学习下载合集

​​https://pan.quark.cn/s/8c91ccb5a474​​

在前面的文章中,我们已经学习了 C 语言一维数组的定义和初始化。我们知道数组是用来存储一系列相同类型数据的集合,并通过下标来访问每个元素。但是,除了通过下标访问单个元素,数组名本身在 C 语言中也有着特殊的含义和用途。

理解数组名是什么,以及如何确定数组的总大小和元素个数,对于有效地使用数组至关重要。本文将深入探讨数组名的概念及其在计算数组大小中的应用。

1. 数组名是什么?它代表什么?

在 C 语言中,数组名不仅仅是一个标识符,它在大多数情况下代表着数组第一个元素所在的内存地址,也就是数组的首地址基地址

可以将数组想象成一栋楼房,里面有很多结构相同的房间(数组元素)。数组名就像这栋楼房的总门牌号,通过这个门牌号,你可以找到这栋楼的起始位置。每个房间(元素)都有自己的房间号(下标),从 0 开始编号。数组名代表的地址就是第一个房间(下标为 0 的元素)的地址。

重要概念: 数组名代表整个数组空间的首地址。

2. 观察数组名和首元素地址

我们可以通过打印数组名来验证它代表的是数组的首地址。在 C 语言中,使用 ​​%p​​ 格式说明符来打印地址。

代码案例 1:打印数组名和元素地址

#include <stdio.h>int main() {printf("--- 观察数组名和元素地址 ---\n");int my_array[5] = {10, 20, 30, 40, 50}; // 定义并初始化一个包含 5 个整数的数组// 打印数组名 (代表整个数组的首地址)printf("数组名 my_array 的值 (通常是首地址): %p\n", my_array);// 打印第一个元素的地址printf("第一个元素 my_array[0] 的地址: %p\n", &my_array[0]); // 使用 & 运算符获取地址// 打印其他元素的地址,观察地址的连续性printf("其他元素的地址:\n");for (int i = 0; i < 5; i++) {printf("  my_array[%d] 的地址: %p\n", i, &my_array[i]);}return
http://www.xdnf.cn/news/5605.html

相关文章:

  • AQS(AbstractQueuedSynchronizer)解析
  • m1 安装 Elasticsearch、ik、kibana
  • 树莓派5+UPS电源 5v
  • 快速搭建一个vue前端工程
  • 大疆卓驭嵌入式面经及参考答案
  • 理解微积分 | 概念 / 定义 / 性质 / 关系
  • Kafka的基本概念和Dokcer中部署Kafka
  • 从0开始学linux韦东山教程第三章问题小结(3)
  • Python-3.14.0|Win英文|python编译器|安装教程
  • NoSQL数据库技术与应用复习总结【看到最后】
  • 第四节第一部分:继承,使用继承的好处
  • Web开发—Vue工程化
  • Redis设计与实现——数据结构与对象
  • 【iOS】SDWebImage源码学习
  • 深入理解反序列化攻击:原理、示例与利用工具实战
  • 计算机网络——以太网交换机
  • .Net HttpClient 发送Http请求
  • PyTorch:深度学习的 powerful 库
  • Spyglass:在batch/shell模式下运行目标的顶层是什么?
  • 理想闯入智驾“无人区”
  • 湖北理元理律师事务所债务优化体系拆解:科学规划如何实现“还款不降质”
  • Lua再学习
  • 拓扑学在天体物理学的应用:python 示例
  • HTTP 响应状态码总结
  • k8s的节点是否能直接 curl Service 名称
  • I2C通讯
  • 基于.Net Core开发的GraphQL开源项目
  • Vue.js 全局导航守卫:深度解析与应用
  • 力扣热题100之合并两个有序链表
  • 空战数据链基础术语解析:从概念到实战应用的入门指南