首页 > 其他分享 >6、原来可以这样理解C语言_函数(4/8)形参和实参

6、原来可以这样理解C语言_函数(4/8)形参和实参

时间:2025-01-15 09:31:00浏览次数:3  
标签:函数 形参 int C语言 Add 实参 形式参数

目录

 四、形参和实参

四、(1)、实参

 四、(2)、形参

四、(3)、实参和形参的关系



 四、形参和实参

        在函数使⽤的过程中,把函数的参数分为,实参和形参。

#include <stdio.h>

int Add(int x, int y)
{
     int z = 0;
     z = x+y;
     return z;
}

int main()
{
     int a = 0;
     int b = 0;
     //输⼊ 
     scanf("%d %d", &a, &b);
     //调⽤加法函数,完成a和b的相加 
     //求和的结果放在r中 
     int r = Add(a, b);
     //输出 
     printf("%d\n", r);
     return 0;
}

四、(1)、实参

        在上⾯代码中,第2~7⾏是 Add 函数的定义,有了函数后,再第17⾏调⽤Add函数的。 我们把第17⾏调⽤Add函数时,传递给函数的参数a和b,称为实际参数,简称实参。 实际参数就是真实传递给函数的参数。 

 四、(2)、形参

       在上⾯代码中,第2⾏定义函数的时候,在函数名 Add 后的括号中写的 x 和 y ,称为形式参数,简 称形参。

        为什么叫形式参数呢?实际上,如果只是定义了 Add 函数,⽽不去调⽤的话, Add 函数的参数 x和 y 只是形式上存在的,不会向内存申请空间,不会真实存在的,所以叫形式参数。形式参数只有在 函数被调⽤的过程中为了存放实参传递过来的值,才向内存申请空间,这个过程就是形参的实例化。

四、(3)、实参和形参的关系

        然我们提到了实参是传递给形参的,他们之间是有联系的,但是形参和实参各⾃是独⽴的内存空 间。

        这个现象是可以通过调试来观察的。请看下⾯的代码和调试演⽰:

#include <stdio.h>

int Add(int x, int y)
{
     int z = 0;
     z = x + y;
     return z;
}

int main()
{
     int a = 0;
     int b = 0;
     //输⼊ 
     scanf("%d %d", &a, &b);
     //调⽤加法函数,完成a和b的相加 
     //求和的结果放在r中 
     int r = Add(a, b);
     //输出 
     printf("%d\n", r);
     return 0;
}

        x和y确实得到了a和b的值,但是x和y的地址和a和b的地址是不⼀样 的,所以我们可以理解为形参是实参的⼀份临时拷⻉。

标签:函数,形参,int,C语言,Add,实参,形式参数
From: https://blog.csdn.net/do_yo/article/details/145114383

相关文章

  • C语言常见概念(上篇)
     C语言是什么人与人的沟通,可以用肢体语言、汉语、英语、法语和德语等。你若要与计算机沟通,就需要使用计算机能够听懂的语言。而我们学习的“C语言”便是计算机语言的一种。编译器的选择语⾔是⼀⻔编译型计算机语⾔,C语⾔源代码都是⽂本⽂件,⽂本⽂件本⾝⽆法执⾏,必须通过编......
  • 编程小白对C语言的认识与看法
     对于一个刚刚进入大学数学类专业的学生,并且学校在大一还没有开展计算机相关课程,我对C  语言的了解仅仅是一个名词,一串代码,一门课程。当我真正在学习的时候,我才发现C语言并没有这么简单。 我问过许多C语言的朋友,C语言是什么?他们并不能很好的回答我的问题,对于他们而言,C......
  • C语言练习之姓名排序
     从今天开始,练习题的博客都会迎来一个升级,我们会注意更多细节,让这个程序尽可能的完善(尽可能想象到千奇百怪的输入,比如让输个数偏输入个字母的),尽量走向实际应用题干请设计一个程序,输入用户指定的数量的名字,然后根据名字长度排序,按长度由大到小进行输出思路名字长度排序(数组......
  • C语言练习(6)
    按要求编写程序。该题的要求是:有1000元,想存5年,可按以下5种办法存:①一次存5年期;②先存2年期,到期后将本息再存3年期;③先存3年期,到期后将本息再存2年期;④存1年期,到期后将本息再存1年期,连续存5次;⑤存活期存款,活期利息每季度结算一次。分别给出了不同存期的利率,要求计算并比......
  • 【C语言】_指针面试题
    目录1.示例12.示例23.示例34.示例45.示例56.示例67.示例71.示例1#include<stdio.h>intmain(){ inta[5]={1,2,3,4,5}; int*ptr=(int*)(&a+1); printf("%d,%d",*(a+1),*(ptr-1)); return0;}运行结果如下:分析:(1)a=&a[0],a+......
  • 【C语言】_字符函数
    目录1.字符分类函数1.1相关函数及其功能1.2使用示例2.字符转换函数2.1相关函数及其功能2.2使用示例1.字符分类函数1.1相关函数及其功能函数其参数符合下列条件则返回真iscntrl任何控制字符isspace空白字符:空格'';换页'\f';换行:'\n';回车:'\r';制表符:'\t';垂直制......
  • 嵌入式基础 C语言预科准备
    一、C语言的基本结构(1)、第一个C程序:helloworld配置部署好vsCode之后,就可以直接在上面写代码了,新建一个新的C程序文件,向屏幕输出一串字符“HelloWorld!”下面,从整体上来分析一下这个最简单的C语言程序,将这个最简程序的各个部分剖析清楚,明白我们写下的每一个字符的具体......
  • 重回C语言之老兵重装上阵(五)C语言作用域规则
    C语言中的作用域(Scope)定义了一个变量或函数名可以被访问的范围。作用域规则帮助我们了解变量和函数在代码中有效的区域。C语言中的作用域主要分为两类:变量作用域和函数作用域。1.作用域的类型C语言的作用域主要可以分为以下几种类型:块作用域(BlockScope):在代码块......
  • 重回C语言之老兵重装上阵(四)vscode配置C语言多文件编译运行
    眨眼睛第一次使用vscode写C语言多文件项目发现插件默认配置只能单文件编译,勃然大怒,于是怒了一下首先明确这一件事,只要有环境C文件就能通过命令行编译,插件只是简化输入命令行的工具,所以我们只需修改插件编译的配置即可一.首先我们需要下载对应插件点击跳转具体插件安装......
  • 大学生一站式C语言
    本文是对菜鸟教程的总结与学习经验window环境配置VisualStudio是由微软公司开发的集成开发环境(IDE),被广泛用于开发各种应用软件,包括桌面程序、网站、移动应用程序等。它提供了一整套开发工具和服务,包括代码编辑器、调试器、版本控制工具等,可以为开发者提供高效、流畅的编......