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

深入剖析 C 语言中的指针数组与数组指针

资料合集下载链接:

​​https://pan.quark.cn/s/472bbdfcd014​​

在C语言中,指针是其强大和灵活性的核心。然而,围绕指针的概念有很多容易混淆的地方,其中“指针数组”和“数组指针”就是一对常见的“双胞胎”概念。它们名称相似,但含义和用法却大相径庭。

本文旨在清晰地辨析指针数组和数组指针这两个概念,并通过详细的代码示例,帮助读者彻底理解它们的声明、初始化、访问以及底层原理。

1. 指针数组 (Array of Pointers)

概念: 指针数组是一个数组,其每个元素都是一个指针

想象一下一个柜子,柜子的每一个抽屉里都存放着一张小纸条,纸条上写着某个内存地址。这就是指针数组——一个存放地址的数组。

声明语法:​类型 *数组名[大小];​

这里的 ​​类型​​ 是指针指向的数据类型。​​*​​ 表示数组的元素是指针。​​数组名​​ 是数组的名称。​​[大小]​​ 指定了数组中指针元素的数量。

示例声明:

  • ​int *ptr_arr[5];​​ // 声明一个包含 5 个元素的数组,每个元素都是一个指向 int 类型的指针。
  • ​char *str_arr[3];​​ // 声明一个包含 3 个元素的数组,每个元素都是一个指向 char 类型的指针 (常用于存储字符串)。

初始化:

指针数组的元素可以被初始化为指向具体的变量、内存地址或字符串常量。

#include <stdio.h>int main() {int a = 10, b = 20, c = 30;int d[3] = {40, 50, 60};// 声明一个指针数组,包含 4 个元素,每个元素指向 intint *ptr_array[4];// 初始化指针数组的元素,让它们指向不同的 int 变量或数组元素ptr_array[0] = &a;      // 指向变量 aptr_array[1] = &b;      // 指向变量 bptr_array[2] = &c;      // 指向变量 cptr_array[3] = &d[1];   // 指向数组 d 的第二个元素 (值 50)printf("--- 访问指针数组元素及其指向的内容 ---\n");for (int i = 0; i < 4; ++i) {// ptr_array[i] 是数组的第 i 个元素,它是一个指针 (地址)// *ptr_array[i] 是对该指针解引用,获取它指向的内存地址中的值printf("ptr_array[%d] 存储的地址: %p, 指向的值: %d\n&#
http://www.lryc.cn/news/2392103.html

相关文章:

  • 4.1.1 Spark SQL概述
  • 【VSCode-Qt】Docker远程连接的项目UI文件在 VSCode 上无法预览
  • redis五种数据结构详解(java实现对应的案例)
  • Telnet 命令详解
  • 深度解析新能源汽车结构与工作原理
  • React 生命周期与 Hook:从原理到实战全解析
  • OpenSSL 与 C++ 搭建一个支持 TLS 1.3 的服务器
  • HOW - 简历和求职面试宝典(六)
  • 【机器学习基础】机器学习入门核心算法:逻辑回归(Logistic Regression)
  • 深入理解设计模式之命令模式
  • 智能仓储落地:机器人如何通过自动化减少仓库操作失误?
  • Android 架构演进之路:从 MVC 到 MVI,拥抱单向数据流的革命
  • [低代码表单生成器设计基础]ElementUI中Layout布局属性Form表单属性详解
  • 数据结构7——二叉树
  • 从“被动养老”到“主动健康管理”:平台如何重构代际关系?
  • Java 中的 synchronized 和 Lock:如何保证线程安全
  • 贪心算法应用:最大匹配问题详解
  • 爬虫IP代理效率优化:策略解析与实战案例
  • 豆瓣电视剧数据工程实践:从爬虫到智能存储的技术演进(含完整代码)
  • 【HW系列】—C2远控服务器(webshell链接工具, metasploit、cobaltstrike)的漏洞特征流量特征
  • 5.28 孔老师 nlp讲座
  • 基于微信小程序的漫展系统的设计与实现
  • 打卡day39
  • 基于Web的分布式图集管理系统架构设计与实践
  • mysql执行sql语句报错事务锁住
  • Java消息队列应用:Kafka、RabbitMQ选择与优化
  • 零基础设计模式——结构型模式 - 组合模式
  • 额度年审领域知识讲解
  • 腾讯云国际站可靠性测试
  • 自定义异常小练习