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

【C语言练习】017. 理解指针与数组的关系

017. 理解指针与数组的关系

  • 017. 理解指针与数组的关系
    • 1. 数组的本质
      • 示例代码
      • 输出结果
        • 解释
    • 2. 通过指针访问数组元素
      • 示例代码
      • 输出结果
        • 解释
    • 3. 数组名作为函数参数
      • 示例代码
      • 输出结果
        • 解释
    • 4. 指针与数组的等价性
      • 示例代码
      • 输出结果
    • 5. 二维数组与指针
      • 示例代码
      • 输出结果
        • 解释

017. 理解指针与数组的关系

在C语言中,指针和数组之间有着非常紧密的关系。理解它们之间的关系对于掌握C语言的高级特性非常重要。以下将详细解释指针与数组的关系,并通过具体示例帮助你更好地理解。

1. 数组的本质

在C语言中,数组本质上是一块连续的内存区域,用于存储多个相同类型的元素。数组的名称实际上是一个指向数组首元素的指针。

示例代码

#include <stdio.h>int main() {int arr[] = {1, 2, 3, 4, 5}; // 声明并初始化一个数组int *ptr = arr; // 将指针初始化为数组的首地址printf("Address of arr: %p\n", arr); // 输出数组的首地址printf("Address of arr[0]: %p\n", &arr[0]); // 输出数组第一个元素的地址printf("Address stored in ptr: %p\n", ptr); // 输出指针存储的地址return 0;
}

输出结果

Address of arr: 0x7ffd5b9a5a44
Address of arr[0]: 0x7ffd5b9a5a44
Address stored in ptr: 0x7ffd5b9a5a44
解释
  • arr 是数组的名称,它表示数组的首地址。

  • &arr[0] 是数组第一个元素的地址。

  • ptr 是一个指针,初始化为数组的首地址。

  • 从输出结果可以看出,arr&arr[0]ptr 都指向同一个地址。

2. 通过指针访问数组元素

可以使用指针来访问数组的元素。通过指针加偏移量的方式,可以访问数组中的任意元素。

示例代码

#include <stdio.h>int main() {int arr[] = {1, 2, 3, 4, 5}; 

相关文章:

  • 【计算机视觉】三维视觉:Instant-NGP:实时神经辐射场的革命性突破
  • [创业之路-354]:农业文明到智能纪元:四次工业革命下的人类迁徙与价值重构
  • Linux发展史、开源文化与技术生态全景
  • 二项分布习题集 · 答案与解析篇
  • 虚幻引擎 IK Retargeter 编辑器界面解析
  • tinycudann安装过程加ubuntu18.04gcc版本的升级(成功版!!!!)
  • 敏感词 v0.25.1 新特性之返回匹配词,修正 tags 标签
  • Linux:信号(一)
  • ARM 指令集(ubuntu环境学习)第七章:系列总结与未来展望
  • 多模态大模型轻量化探索-开源SmolVLM模型架构、数据策略及其衍生物PDF解析模型SmolDocling
  • AE模板 300个故障干扰损坏字幕条标题动画视频转场预设
  • n8n 键盘快捷键和控制键
  • 基于DQN的自动驾驶小车绕圈任务
  • [machine learning] Transformer - Attention (一)
  • Android和iOS测试的区别有哪些?
  • Haskell Drracket OCaml Prolog 逻辑式编程函数式编程代写代做
  • Conda 与 Spyder 环境管理
  • Ubuntu搭建Conda+Python开发环境
  • docker 官方:在 alpine 上安装 python 的方法
  • JAVA:使用 XStream 实现对象与XML转换的技术指南
  • 熬夜又不想伤肝?方法只有一个
  • 经济日报:仅退款应平衡各方权益
  • 德国斯图加特发生车辆冲撞人群事件,至少三人受伤
  • 美法官裁定特朗普援引战时法律驱逐黑帮违法,系首次永久性驳回
  • 天启年间故宫“三殿”重修与晚明财政
  • 国铁集团去年收入12830亿元增3%,全年铁路运输利润总额创新高