前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >C语言 | 指针引用数组

C语言 | 指针引用数组

原创
作者头像
小林C语言
修改2021-04-22 10:08:06
修改2021-04-22 10:08:06
1.9K00
代码可运行
举报
运行总次数:0
代码可运行

C语言数组元素的指针

指针变量既可以指向变量,也可以指向数组元素,所谓数组元素的指针就是数组元素的地址。

引用数组元素可以用下标法,也可以用指针法,即通过指向数组元素的指针找到所需的元素。

在C语言中,数组名代表数组中首元素的地址,使用指针法能使目标程序质量高,因为其占内存少,运行速度快。

C语言在引用数组元素时指针的运算

在一定条件下允许对指针进行加和减的运算。

当指针指向数组元素时:

代码语言:javascript
代码运行次数:0
运行
复制
//例如

指针变量p指向数组元素a[0]
我们可以用用p+1表示指向下一个元素a[1]

在指针指向数组元素时,可以对指针进行以下运算:

  1. 加一个整数,如p+1。
  2. 减一个整数,如p-1。
  3. 自加运算,如p++,++p。
  4. 自减运算,如p--,--p。
  5. 两个指针相减,如p1-p2,只有p1和p2都指向同一数组中的元素时才有意义。

C语言通过指针引用数组元素

1、下标法

代码语言:javascript
代码运行次数:0
运行
复制
//如

array[i]

2、指针法

代码语言:javascript
代码运行次数:0
运行
复制
//如

*(array+i)或*(point+i)

其中array是数组名,point是指向数组元素的指针变量,其初值point=array。

3、用指针变量指向数组元素。

4、可以通过改变指针变量的值指向不同的元素。

5、要注意指针变量当前的值。

C语言用数组名作函数参数

C语言调用函数时虚实结合的方法都是采用“值传递”方式,当用变量名作为函数参数时传递的是变量的值,当用数组名作为函数参数时。

由于数组名代表的是数组元素地址,因此传递的值是地址,所以要去形参为指针变量。

实参数组名代表一个固定的地址,或者说是指针变量,但形参数组名并不是一个固定的地址,而是按指针变量处理。

C语言通过指针引用多维数组

1、多维数组元素的地址

  • 性质与二维数组差不多,但需要注意的是,多维数组由于分配内存情况不同,所显示的地址可能是不同的。

2、指向多维数组元素的指针变量

  • 指向数组元素的指针变量。
  • 指向由m个元素组成的一维数组的指针变量。

3、用指向数组的指针作函数参数

  • 一维数组名可以作为函数参数,多维数组名也可以作函数参数。
  • 用指针变量作形参,以接收实参数组名传递来的地址,有两个方法:
    • 用指向变量的指针变量。
    • 用指向一维数组的指针变量。

C语言通过指针引用数组案例

代码语言:javascript
代码运行次数:0
运行
复制
#include<stdio.h>//头文件
int main()//主函数
{
  int array[3]={1,3,4};//定义数组且初始化
  int *point;
  point=array;//数组名就是地址
  for(int i=0;i<3;i++)
  {
    printf("%d\n",(*point+i));//遍历输出
  }
  return 0;
}

编译运行结果:

代码语言:javascript
代码运行次数:0
运行
复制
1
2
3

--------------------------------
Process exited after 0.04303 seconds with return value 0
请按任意键继续. . .

以上,如果你看了觉得对你有所帮助,就给小林点个赞,分享给身边的人叭,这样小林也有更新下去的动力,跪谢各位父老乡亲啦~

C语言学习路线    C语言开发工具 VC6.0、Devc++、VS2019使用教程

100道C语言源码案例请去公众号:C语言入门到精通

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档