美文网首页
必须知道的C语言知识细节:函数形参和实参的区别

必须知道的C语言知识细节:函数形参和实参的区别

作者: 哪有岁月静好 | 来源:发表于2020-07-27 21:35 被阅读0次

当你选择了一种语言,意味着你还选择了一组技术、一个社区。——Joshua Bloch

C语言中函数形参和实参是十分重要的概念,初学者很容易混淆。

形参:顾名思义,形式参数,仅仅是声明了参数的类型和参数名称,未实际分配内存和赋值。

实参:实际参数,是指函数调用时,实际赋值和分配内存空间。

例如:

int sum(int a, int b)
{
    return a+b;
}
int main(void)
{
    int c=1;
    sum(c,2);
    return 0;
}

很明显,函数声明和定义时,sum(int a, int b) 其中a和b是形式参数,指明sum函数需要两个参数,并且参数的类型是整型。

当实际调用sum函数时sum(c,2), 其中变量c和常量2都是实际参数,实际参数具有真正的值和内存空间。调用时会给形式参数a和b分配内存空间,并且将实际参数c和常量2的值拷贝给形参指向的内存空间。

因此,总结下区别如下:

1.实参是函数调用时的实际参数值,形参是函数声明和定义时指定的参数名称。

2.实参值的类型必须和形参的类型相同或兼容。

3.实参和形参在函数实际调用时通过值传递方式发生联系,形参未调用时并不会分配空间和赋值,当调用时会分配空间,并且实参拷贝赋值给形参变量(值传递),实参值等于形参值。

4.函数内部只能访问形参值完成计算,无法直接访问实参。

5.函数调用结束后,形参占用的内存空间被释放,函数返回,实参仍然保留原来的内存空间和值。

其实做为一个学习者,有一个学习的氛围跟一个交流圈子特别重要这里我推荐一个C/C++基础交流583650410,不管你是小白还是转行人士欢迎入驻,大家一起交流成长。



相关文章

  • OC内存区域

    c语言中形参和实参 形参 form parameter实参 real parameter出现在函数定义中的...

  • 必须知道的C语言知识细节:函数形参和实参的区别

    当你选择了一种语言,意味着你还选择了一组技术、一个社区。——Joshua Bloch C语言中函数形参和实参是十分...

  • C语言形参与实参

    C语言中形参与实参的关系是:形参是实参的值副本,无论参数的类型是什么,传递到子函数的形参只是实参的值。在子函数里改...

  • 1.加深记忆:OC知识点截图

    1. C语言函数知识: (1)如果函数形参是基本数据类型,意味着值传递,修改函数内部形参不会影响外面实参的值;如果...

  • 强类型与弱类型

    强类型与弱类型(类型安全角度) 强类型:语言层面限制函数的实参类型必须和形参类型相同 弱类型:不会限制实参必须与形...

  • 2018-09-20

    php常规参数函数 常规参数函数,就是实参和形参应该个数相等、类型一致,像 C 语言或者 JAVA 等强类型语言中...

  • 8.5.1结合使用位置实参和任意数量实参

    8.5.1结合使用位置实参和任意数量实参 如果要让函数接受不同类型的实参,必须在函数定义中将接纳任意数量实参的形参...

  • ES6 参数

    我们知道,参数分为形参(parameter)和实参(argument),形参是指函数定义时的参数,实参是指真正传入...

  • JS函数参数有几多

    arguments 稍微学过点编程语言的人应该都知道函数、形参和实参的概念: 在JS中使用函数的时候,函数内部都会...

  • python之函数

    函数 参数分为形参与实参形参:位置参数、默认参数、可变参数、关键字参数 位置参数:形参和实参个数必须保持一致。为了...

网友评论

      本文标题:必须知道的C语言知识细节:函数形参和实参的区别

      本文链接:https://www.haomeiwen.com/subject/xbbtrktx.html