8.3 C语言通过指针引用数组

举报
C语言入门到精通 发表于 2021/02/20 00:38:48 2021/02/20
2.3k+ 0 0
【摘要】 01数组元素的指针1、指针变量既可以指向变量,也可以指向数组元素。所谓数组元素的指针就是数组元素的地址。2、引用数组元素可以用下标法,也可以用指针法,即通过指向数组元素的指针找到所需的元素。3、使用指针法能使目标程序质量高(占内存少,运行速度快)。4、在C语言中,数组名(不包括形参数组名,形参数组并不占据实际的内存单元)代表数组中首元素的地址。02在引用数组元素时指针的运算1、...

01数组元素的指针

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

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

3、使用指针法能使目标程序质量高(占内存少,运行速度快)。

4、在C语言中,数组名(不包括形参数组名,形参数组并不占据实际的内存单元)代表数组中首元素的地址。

02在引用数组元素时指针的运算

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

2、当指针指向数组元素时,譬如,指针变量p指向数组元素a[0],我们希望用p+1表示指向下一个元素a[1]。

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

(1)加一个整数,如p+1。

(2)减一个整数,如p-1。

(3)自加运算,如p++,++p。

(4)自减运算,如p--,--p。

(5)两个指针相减,如p1-p2(只有p1和p2都指向同一数组中的元素时才有意义)。

03通过指针引用数组元素

1、下标法,如a[i]形式。

2、指针法,如*(a+i)或*(p+i)。其中 a是数组名,p是指向数组元素的指针变量,其初值p=a。

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

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

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

04用数组名作函数参数

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

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

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

05通过指针引用多维数组

1、多维数组元素的地址

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

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

(1)指向数组元素的指针变量。

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

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

(1)一维数组名可以作为函数参数,多维数组名也可以作函数参数。

(2)用指针变量作形参,以接收实参数组名传递来的地址,有两个方法:

①用指向变量的指针变量。

②用指向一维数组的指针变量。

C语言 | 输出斐波那契前30列 mp.weixin.qq.com图标

文章来源: zhuanlan.zhihu.com,作者:小林C语言,版权归原作者所有,如需转载,请联系作者。

原文链接:zhuanlan.zhihu.com/p/333851993

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

作者其他文章

评论(0

抱歉,系统识别当前为高风险访问,暂不支持该操作

    全部回复

    上滑加载中

    设置昵称

    在此一键设置昵称,即可参与社区互动!

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。