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

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

3天内不再提示

图文详解:数组和指针的传参

如意 来源:CSDN 作者:cherrydreamsover 2020-06-29 15:34 次阅读

传参

数组:

数组传参时,会退化为指针,所以我们先来看看什么是退化!

(1)退化的意义:C语言只会以值拷贝的方式传递参数,参数传递时,如果只拷贝整个数组,效率会大大降低,并且在参数位于栈上,太大的数组拷贝将会导致栈溢出。

(2)因此,C语言将数组的传参进行了退化。将整个数组拷贝一份传入函数时,将数组名看做常量指针,传数组首元素的地址。

1.一维数组的传参

图文详解:数组和指针的传参

2.二维数组的传参

图文详解:数组和指针的传参

指针:

1.一级指针传参

当函数参数部分是一级指针时,可以接受什么参数例如:test(int*p)

(1)可以是一个整形指针

(2)可以是整型变量地址

(3)可以是一维整型数组数组名

图文详解:数组和指针的传参

2.二级指针传参

即当函数参数部分是二级指针时,可以接受什么参数例如:test(int**p)

(1)二级指针变量

(2)一级指针变量地址

(3)一维指针数组的数组名

图文详解:数组和指针的传参

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

    关注

    180

    文章

    7597

    浏览量

    136122
  • 指针
    +关注

    关注

    1

    文章

    479

    浏览量

    70506
  • 数组
    +关注

    关注

    1

    文章

    414

    浏览量

    25905
收藏 人收藏

    评论

    相关推荐

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

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

    数组指针详解

    数组指针详解分享,请多指教!
    发表于 12-15 11:21

    数组指针的详细讲解

    数组指针的详细讲解
    发表于 10-16 08:44 0次下载

    数组指针的简单定义及其相互的联系与区别详解

    确实在极个别的情况下,数组指针确实可以”通用“,但是在却大多数情况下,数组指针是两个完全不同的C。
    的头像 发表于 12-09 11:20 7212次阅读
    <b class='flag-5'>数组</b>和<b class='flag-5'>指针</b>的简单定义及其相互的联系与区别<b class='flag-5'>详解</b>

    指针数组数组指针的区别

    这里我们区分两个重要的概念:指针数组数组指针
    的头像 发表于 06-29 15:30 2w次阅读
    <b class='flag-5'>指针</b><b class='flag-5'>数组</b>和<b class='flag-5'>数组</b><b class='flag-5'>指针</b>的区别

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

    理解函数指针、函数指针数组、函数指针数组指针
    的头像 发表于 06-29 15:38 1.5w次阅读
    理解函数<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语言总结_数组与函数练习题

    字符串标准处理函数介绍(string.h)、指针数组当做函数形指针定义、函数返回指针、void类型定义
    的头像 发表于 08-14 09:36 804次阅读

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

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

    数组/指针问题

    自定义函数里形的类型,要和函数调用中传过去的实参类型相对应
    的头像 发表于 08-17 10:37 1056次阅读

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

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

    C语言数组元素的指针

    C语言调用函数时虚实结合的方法都是采用“值传递”方式,当用变量名作为函数参数时传递的是变量的值,当用数组名作为函数参数时。 由于数组名代表的是数组元素地址,因此传递的值是地址,所以要去形
    的头像 发表于 03-10 14:45 830次阅读

    C语言中什么是指针数组

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

    数组指针不能混用的情况

    数组指针不能混用的情况  数组指针是 C/C++ 中非常常见的特性和概念。然而,在某些情况下,数组
    的头像 发表于 12-07 13:46 568次阅读

    数组指针不相同吗?数组指针有哪些区别

    数组就是指针指针就是数组,这样的言论在评论区看到不下于10次。
    的头像 发表于 12-13 16:34 1306次阅读
    <b class='flag-5'>数组</b>和<b class='flag-5'>指针</b>不相同吗?<b class='flag-5'>数组</b>和<b class='flag-5'>指针</b>有哪些区别

    面试常考+1:函数指针指针函数、数组指针指针数组

    在嵌入式开发领域,函数指针指针函数、数组指针指针数组是一些非常重要但又容易混淆的概念。理解它
    的头像 发表于 08-10 08:11 677次阅读
    面试常考+1:函数<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>