博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
必须知道的C语言知识细节:函数形参和实参的区别
阅读量:3944 次
发布时间:2019-05-24

本文共 718 字,大约阅读时间需要 2 分钟。

当你选择了一种语言,意味着你还选择了一组技术、一个社区。——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,不管你是小白还是转行人士欢迎入驻,大家一起交流成长。

转载地址:http://gbjwi.baihongyu.com/

你可能感兴趣的文章
回文链表
查看>>
容器盛水问题
查看>>
滑动窗口最大值
查看>>
win7 文件删除后要刷新后才会消失
查看>>
用ffmpeg转多音轨的mkv文件
查看>>
ubuntu12.04 安装VLC,在root用户下不能使用的问题
查看>>
简单而又完整的Makefile
查看>>
GNU/Linux下如何卸载源码安装的软件
查看>>
ffmpeg 常用 命令随手记
查看>>
av_seek_frame中flags值的意义
查看>>
git 学习笔记
查看>>
C++类中的static的用法
查看>>
vector 释放内存 swap
查看>>
在linux下新增一块硬盘的操作。(包含大于2T的硬盘在linux下挂载操作)
查看>>
在32位系统中使用fseek和lseek或fwrite、write写大文件时,最大只能写2G左右的解决办法
查看>>
整理华为C/C++编码规范
查看>>
C语言中嵌入正则表达式
查看>>
libxml2 指南(中文)
查看>>
虚拟机VMware中实现linux与windows的共享
查看>>
undefined reference问题总结
查看>>