行业知识
C++指针(二)
个人主页:PingdiGuo_guo
收录专栏:C++干货专栏
文章目录
前言
1.数组指针
1.1数组指针的概念
1.2数组指针的用处
1.3数组指针的操作
1.4二维数组如何访问
1.5数组指针访问流程
1.6数组指针的练习题
2.指针数组
2.1指针数组的概念
2.2指针数组的用处
2.3指针数组的操作
2.4指针二维数组
2.4指针数组的练习题
3.对比
总结
前言
本篇是介绍数组指针与指针数组的概念,用处,操作以及练习的。点赞破五十,更新下一期。
1.数组指针
在C++指针(一)中,我们知道指针是用来存放地址的,普通的指针只是用来存放一个变量的地址的,可想要存储一个数组的地址呢?接下来就要请出我们的新朋友:数组指针。
1.1数组指针的概念
数组指针是指向数组的指针。它指向数组的第一个元素的地址,通过递增指针的值可以访问数组中的其他元素。数组指针可以帮助程序员更灵活地操作数组,尤其是在需要传递数组作为参数或返回数组的函数中。
1.2数组指针的用处
数组指针有很多用途,以下是其中一些常见的用途:
1.遍历数组:通过指针运算,可以使用数组指针遍历整个数组,访问数组中的每个元素。
2.传递数组给函数:可以使用数组指针作为函数参数,将整个数组传递给函数。这样可以避免在函数中复制整个数组,提高程序的效率。
3.动态分配内存:可以使用数组指针来动态分配内存,创建动态数组。通过指针操作可以方便地访问和修改动态数组中的元素。
4.二维数组访问:对于二维数组,可以使用数组指针来访问和操作多维数组中的元素。
5.字符串操作:字符串在C语言中本质上是一个字符数组,可以使用数组指针来操作和处理字符串。
6.数组的排序和搜索:使用数组指针可以方便地对数组进行排序和搜索操作,以实现快速的查找和排序算法。
1.3数组指针的操作
数组指针存储一个数组的地址的步骤如下:
1. 首先,定义一个数组类型的指针变量。
int *ptr
2. 然后,将数组的首地址赋值给指针变量。有两种方法可以实现这一点:
a. 使用数组名来给指针变量赋值,因为数组名本身就是数组的首地址。具体代码如下所示:
int arr[6]={0,1,2,3,4,5};ptr = arr; b. 使用取地址运算符&来获取数组的首地址,并将其赋值给指针变量。具体代码如下所示:
int arr[6]={0,1,2,3,4,5};ptr = &arr[0]; 4.现在,指针变量ptr就存储了数组arr的首地址。我们可以通过该指针变量来访问数组中的元素。例如,可以使用*ptr来访问第一个元素,*(ptr + 1)来访问第二个元素,依此类推。当然,我们也可以用ptr[i]的形式来访问数组元素,这里,我们先学习比较常见的*(ptr+i)的方法。具体代码如下所示:
for (int i = 0; i