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

int (*)[3]和int (*arr_ptr)[3]区别

一、类型层面

  • int (*)[3]:它属于一种指针类型。具体而言,这是一个指向包含3个int类型元素的数组的指针。可以把它看作是对一类指针的抽象定义,就像int代表整数类型一样,int (*)[3]代表指向指向特定数组的指针类型。
  • int (*arr_ptr)[3]:这是一个变量声明。这里的arr_ptr是一个变量名,其类型为int (*)[3],也就是说arr_ptr是一个指向包含3个int类型元素的数组的指针。

二、代码示例及解释

#include <stdio.h>int main(void){//定义一个包含3个int类型元素的数组int arr[3] = {1, 2, 3};//定义一个指向包含3个int类型元素的数组的指针int (*arr_ptr)[3];//将arr的地址赋值给arr_ptrarr_ptr = &arr;// 打印数组元素for (int i = 0; i < 3; i++) {printf("%d ", (*arr_ptr)[i]);}printf("\n");return 0;    }

三、代码解释

  1. int (*)[3] 的体现:在代码里,arr_ptr 的类型就是 int (*)[3],不过这里并没有直接使用 int (*)[3] 这个类型去做别的操作,它主要是用来明确 arr_ptr 这个变量的类型。
  2. int (*arr_ptr)[3] 的体现int (*arr_ptr)[3] 是对 arr_ptr 变量的声明。之后通过 arr_ptr = &arr; 把数组 arr 的地址赋给 arr_ptr,如此 arr_ptr 就指向了数组 arr
  3. 访问数组元素:借助 (*arr_ptr)[i] 这种方式能够访问数组 arr 里的元素。*arr_ptr 会把 arr_ptr 解引用得到它所指向的数组,然后通过 [i] 来访问数组中的第 i 个元素。

四、总结

  • int (*)[3] 单纯是一种类型定义,代表指向包含 3 个 int 类型元素的数组的指针类型。
  • int (*arr_ptr)[3] 是一个变量声明,创建了一个名为 arr_ptr 的变量,其类型为 int (*)[3]
http://www.xdnf.cn/news/331543.html

相关文章:

  • Spark应用部署模式实例
  • 个人网站versionI正式上线了!Personal Website for Jing Liu
  • ✍️【TS类型体操进阶】挑战类型极限,成为类型魔法师!♂️✨
  • JAVA八股文
  • CI/CD与DevOps流程流程简述(提供思路)
  • 使用pdm管理python项目时去哪里找nuitka
  • 如何通过复盘提升团队能力?
  • 数组和集合
  • 【C++的类型转换】
  • 【漏洞预警】:致远OA V8.1 SP2 data.htm DOM型XSS漏洞
  • 使用 `detach()` 断开与共享特征层的连接
  • (已完结)完美解决C盘拓展卷是灰色的无法扩容的问题以及如何正确地在WINDOS上从一个盘扩容到C盘
  • Android 如何理解 Java JNI 中的引用与 Java 对象应用的区别
  • java算法的核心思想及考察的解题思路
  • Codeforces Round 1022 (Div. 2)
  • YOLOv1:开创实时目标检测新纪元
  • go.mod没有自动缓存问题
  • vue截图-html2canvas
  • 《硬件视界》专栏介绍(持续更新ing)
  • Qt学习Day2:信号槽
  • 从SQL的执行流程彻底详解预编译是如何解决SQL注入问题
  • Linux57配置MYSQL YUM源
  • 离散化(竞赛)
  • MinIo安装和使用操作说明(windows)
  • C++相关学习过程
  • 《USB技术应用与开发》第七讲:CDC串口设备案例
  • 【AlphaFold2】深入浅出,讲解Evoformer|学习笔记
  • 【汇正自控阀门集团】签约智橙PLM,智橙助泵阀“以国代进”
  • ntdll!CsrServerApiRoutine函数--csrsrv!CsrCallServerFromServer什么时候被调用?
  • 计算机硬件(南桥):主板芯片组FCH和PCH的区别