当前位置:网站首页 > 技术博客 > 正文

指针数组与数组指针详解



1.指针数组的定义

之前学过整型数组是存放整型的数组,字符数组是存放字符的数组,由类比可知,指针数组就是存放指针的数组。同理,指针数组的类型也是数组名去掉后的剩余部分。定义方式如下:

type *ptr[size];     //type是存放指针指向的对象的类型,ptr是数组名,size是数组的大小。

表示ptr 是一个包含 size 个指向type类型的指针的数组。如以下例子:

表示ptr是一个数组,其存放了5个指针,每个指针指向的类型均是int类型。其存放形式如下图:

                    

2.指针数组的初始化

指针数组与整型数组的用法一样,可以通过下标访问指针数组中存放的指针,数组名即指针数组变量的变量名。

如果你想要创建一个指针数组并初始化它,你需要明确地为每个指针赋值,比如:

 
  

1.数组指针的定义

之前学过整型指针变量存放的是整型变量的地址,指针指向整型数据;浮点型指针变量存放的是浮点型变量的地址,指针指向的是浮点型数据,由类比可知,数组指针变量存放的是数组的地址,指针指向的是整个数组。定义方式如下:

type (*ptr)[size]; // 由于ptr不加括号的话会优先与中括号结合,所以为了定义数组指针变量,就需要将*ptr加括号,然后ptr指向的是一个大小为10个整型的数组。如图析:

 
  

如以下例子:

表示将数组arr的地址取出放入ptr中,ptr 是指向 arr 数组的指针。

2.数组指针的使用

2.1数组指针+-

整型指针(例如 `int*` 类型)的加法操作是以指针所指向的数据类型的大小为单位进行的。当你对一个整型指针进行加1(`ptr + 1`)时,实际上是将指针的值增加了一个整型的大小,即 4 个字节;同理,当你对一个数组指针进行+1时,实际上是将指针的值增加了一个数组的大小。如以下例子:

2.2通过数组指针访问数组元素

这里的*p表示先对指针进行解引用找到指针指向的数组(即通过存放在p中的地址在内存中找到存放的数组),然后根据数组的下标取出数组的元素。

2.3数组指针作为函数参数

当自定义的函数接收数组时,可以使用数组指针接收。

版权声明


相关文章:

  • 特征提取是什么意思2025-06-03 14:01:04
  • securecrt连接设置2025-06-03 14:01:04
  • json.stringify字符串2025-06-03 14:01:04
  • java的网络编程2025-06-03 14:01:04
  • linux的ssh服务无法启动2025-06-03 14:01:04
  • python环境搭建过程2025-06-03 14:01:04
  • 索引是数据库的什么模式2025-06-03 14:01:04
  • web前端加密2025-06-03 14:01:04
  • winform messagebox2025-06-03 14:01:04
  • 驼峰命名法属于基本的命名规范2025-06-03 14:01:04