0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

C语言数组元素的指针

jf_78858299 来源:C语言 作者:闫小林 2023-03-10 14:45 次阅读

C语言数组元素的指针

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

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

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

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

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

当指针指向数组元素时:

//例如

指针变量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、下标法

//如

array[i]

2、指针法

//如

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

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

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

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

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

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

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

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

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

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

1、多维数组元素的地址

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

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

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

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

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

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

#include//头文件
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;
}

编译运行结果:

1
2
3

--------------------------------
Process exited after0.04303 secondswith return value0
请按任意键继续. . .
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • C语言
    +关注

    关注

    180

    文章

    7533

    浏览量

    128790
  • 函数
    +关注

    关注

    3

    文章

    3882

    浏览量

    61310
  • 数组
    +关注

    关注

    1

    文章

    409

    浏览量

    25595
收藏 人收藏

    评论

    相关推荐

    C语言数组名和指针

    指针是C/C++语言的特色,而数组名与指针有太多的相似,甚至很多时候,数组名可以作为指针使用。于
    发表于 08-27 17:48 610次阅读

    C语言数组指针的区别

    大家好,我是嵌入式老林,从事嵌入式软件开发多年,今天分享的内容是C语言数组指针的区别,希望能对你有所帮助。
    发表于 07-11 12:40 278次阅读
    C<b class='flag-5'>语言</b><b class='flag-5'>数组</b>和<b class='flag-5'>指针</b>的区别

    C语言中指针数组数组指针的区别

    指针数组之间存在着紧密的关系。在本文中,我们将探讨指针数组的关系、指针算术和数组遍历、多维
    发表于 08-17 15:29 280次阅读

    C语言中怎么判断数组元素的个数

    C语言中怎么判断数组元素的个数,如数组:int array[]={45,56,76,234,1,34,23,2,3};
    发表于 05-26 11:49

    指针数组数组指针的区别

    int (*p)[4];// 定义一个数组指针,指向含4个元素的一维数组数组元素是int类型。
    发表于 07-15 21:41

    C语言——指针数组和函数

    C语言——指针数组和函数基本解释   1、指针的本质是一个与地址相关的复合类型,它的值是数据存放的位置(地址);
    发表于 04-20 15:25

    C语言入门教学之数组资料总结免费下载

    本文档的主要内容详细介绍的是C语言入门教学之数组资料总结免费下载主要内容包括了:1 一维数组的定义和一维数组元素的引用2 一维
    发表于 10-23 17:53 5次下载
    C<b class='flag-5'>语言</b>入门教学之<b class='flag-5'>数组</b>资料总结免费下载

    理解函数指针、函数指针数组、函数指针数组指针

    理解函数指针、函数指针数组、函数指针数组指针
    的头像 发表于 06-29 15:38 1.4w次阅读
    理解函数<b class='flag-5'>指针</b>、函数<b class='flag-5'>指针</b><b class='flag-5'>数组</b>、函数<b class='flag-5'>指针</b><b class='flag-5'>数组</b>的<b class='flag-5'>指针</b>

    C语言中指针数组

    #define SIZE 10int arry[SIZE]={0,1,2,3,4,5,6,7,8,9}; //数组名arry表示数组元素的地址*int p,temp;//可直接初始化定义
    发表于 01-13 13:11 3次下载
    C<b class='flag-5'>语言中指针</b>与<b class='flag-5'>数组</b>

    C语言指针数组的区别

    在C语言教程中我们使用通过数组名通过偏移和指针偏移都可以遍历数组,那么指针数组到底有什么区别?
    的头像 发表于 07-18 16:29 1553次阅读

    二维数组数组指针以及指针数组

    二维数组数组指针以及指针数组
    的头像 发表于 08-16 09:02 2261次阅读

    【C语言进阶】“数组指针”和“指针数组”都是啥跟啥?

    【C语言进阶】“数组指针”和“指针数组”都是啥跟啥?
    的头像 发表于 08-31 13:21 1681次阅读

    C语言中什么是指针数组

    在C语言中一个数组,若其元素均为指针类型数据,称为指针数组,也就是说,
    的头像 发表于 03-10 15:26 1282次阅读

    c语言数组中查找指定元素

    C语言是一种通用的编程语言,广泛应用于各种领域,包括嵌入式系统、操作系统、游戏开发等。在C语言中,数组是一种非常重要的数据结构,用于存储一系列相同类型的
    的头像 发表于 11-24 10:07 1378次阅读

    数组指针不能混用的情况

    指针的基本概念。数组是一组相同类型的元素的集合,而指针是一个变量,它存储了一个地址,该地址指向内存中的某个位置。在 C/C++ 中,数组
    的头像 发表于 12-07 13:46 316次阅读