如果一个函数要使用参数,它就必须定义接受参数值的变量。

4.3.1 形式参数与实际参数

函数定义时填入的参数我们称之为形式参数,简称形参,它们同函数内部的局部变量作用相同。形参的定义是在函数名之后和函数开始的花括号之前。

调用时填入的参数,我们称之为实际参数,简称实参。

必须确认所定义的形参与调用函数的实际参数类型一致,同时还要保证在调用时形参与实参的个数出现的次序也要一一对应。如果不一致,将产生意料不到的结果。与许多其它高级语言不同,(是健壮的,它总要做一些甚至你不希望的事情,几乎没有运行时错误检查,完

全没有范围检测。作为程序员,必须小心行事以保证不发生错误,安全运行。来源:www.examda.com

4.3.2 赋值调用与引用调用

一般说来,有两种方法可以把参数传递给函数。第一种叫做“赋值调用”(call by value),这种方法是把参数的值复制到函数的形式参数中。这样,函数中的形式参数的任何变化不会影响到调用时所使用的变量。

把参数传递给函数的第二种方法是“引用调用”(call by reference)。这种方法是把参数的地址复制给形式参数,在函数中,这个地址用来访问调用中所使用的实际参数。这意味着,形式参数的变化会影响调用时所使用的那个变量(详细内容请参见后续章节)。

除少数情况外,C语言使用赋值调用来传递参数。这意味着,一般不能改变调用时所用变量的值。请看例4 - 9。

在这个例子里,传递给函数sqr( )的参数值是复制给形式参数x的,当赋值语句x = x * x执行时,仅修改局部变量x。用于调用sqr ( )的变量t,仍然保持着值10。

执行程序:

RUN

100 10

切记,传给函数的只是参数值的复制品。所有发生在函数内部的变化均无法影响调用时使用的变量。

C语言函数的调用与参数.doc

下载Word文档到电脑,方便收藏和打印[全文共720字]

编辑推荐:

下载Word文档

c语言函数 参数,C语言函数的调用与参数相关推荐

  1. C程序设计语言现代方法09:函数

    目录 1. 函数的定义和调用 1.1 函数定义格式 1.2 函数调用 2. 函数声明 2.1 实际参数的类型转换 2.1.1 编译器在调用前遇到函数原型 2.1.2 编译器在调用前没有遇到函数原型 2 ...

  2. 【C 语言】C 语言 函数 详解 ( 函数本质 | 顺序点 | 可变参数 | 函数调用 | 函数活动记录 | 函数设计 ) [ C语言核心概念 ]

    相关文章链接 : 1.[嵌入式开发]C语言 指针数组 多维数组 2.[嵌入式开发]C语言 命令行参数 函数指针 gdb调试 3.[嵌入式开发]C语言 结构体相关 的 函数 指针 数组 4.[嵌入式开发 ...

  3. c语言fgetpos的参数,C语言fgetpos()函数:获得当前文件的读写指针(转)

    头文件:#include fgetpos()函数获得当前文件的指针所指的位置,并把该指针所指的位置信息存放到pos所指的对象中.pos以内部格式存储,仅由fgetpos()和fsetpos()使用.f ...

  4. c语言 函数多个参数,C语言函数可变参数

    C语言函数可变参数教程 可变参数的函数必须至少有一个强制参数,可选参数的类型可以变化.可选参数的数量由强制参数的值决定,或由用来定义可选参数列表的特殊值决定. 对于每一个强制参数来说,函数头部都会显示 ...

  5. c语言int val,c语言不定参数与printf函数的实现

    今天学习了C语言不定参数,C语言中的不定参数主要靠这个头文件实现,这个头文件包含了va_list().va_start().va_end()三个宏,其用法为先声明一个va_list类型的变量,它用于访 ...

  6. c语言malloc引用类型作参数,C语言动态内存函数的理解和总结

    第一:内存的使用 内存可以分为以下三个主要的部分:栈区.堆区.静态区 栈区(stack):存放的是局部变量.函数的形参等都是在该区上存放的. 堆区(heap):动态内存函数开辟的空间.比如malloc ...

  7. 【C语言进阶深度学习记录】三十九 C语言中的可变参数(参数可变的函数)

    用过printf()函数的热都知道,printf的参数可以有多个,它是可变的,根据我们输出参数的类型以及个数的不同来确定参数.今天来学习C语言中参数可变的函数是如何实现的. 文章目录 1 可变参数 2 ...

  8. C语言 函数不定长参数 - C语言零基础入门教程

    目录 一.前言 二.函数不定长参数简介 1.va_start 2.va_arg 3.va_end 三.自定义不定长参数的函数 1.va_start/va_arg/va_end 案例一 2.va_sta ...

  9. C语言 函数缺省参数 - C语言零基础入门教程

    目录 一.函数简介 1.函数声明 2.函数定义 3.函数调用 4.函数形参和实参 二.函数缺省参数 1.函数全缺省参数 2.函数半缺省参数 三.注意事项 四.猜你喜欢 零基础 C/C++ 学习路线推荐 ...

  10. c语言打印字符的函数参数,C语言格式化打印函数vsnprintf()的实现

    Linux内核的格式化打印函数是printk(),它与printf()函数是类似的,都是根据格式字符串把可变参数列表转化成字符序列,然后输出到控制台. printf()是打印到标准输出stdout. ...

最新文章

  1. 【SQL Server】系统学习之一:表表达式
  2. python3精要(61)-线性回归
  3. 一个类GraphQL的ORM数据访问框架发布
  4. ckpt下载 deeplabv3_Ubantu下 用deeplabV3+训练自己的数据集 你可能遇到的所有坑都在这了...
  5. GoEasy使用方法记录
  6. redis---sds(简单动态字符串)详解
  7. how to get SoCs and devices information in QEMU
  8. c++ min/max
  9. win7语言文件夹c盘什么位置,win7桌面上的文件 在c盘哪个目录
  10. 红光光浴到底有没有用#大健康#红光光浴#红光#种光光学
  11. android 播放多个音频文件,android – 如何同时播放多个ogg或mp3 ..?
  12. 1.动态规划--01背包问题
  13. C# 接入企业微信群聊--机器人【markdown】
  14. 阿斯利康新冠疫苗一种给药方案有效性达90%;中国香水消费客单价远超美欧市场 | 美通企业日报...
  15. Ner-Ocr识别文本格式化问题
  16. 万国数据登陆纳斯达克 宣布首次公开发行股票定价
  17. 基于Qt的FreeType字体轮廓解析
  18. 量化买卖压力选股(附源码)
  19. 2020年鼠年二月初六 长发飘飘
  20. 进口FT232RL如何被GP232兼容资料

热门文章

  1. 阿里大于短信返回XML
  2. java桌面项目打包_by icewee_写得太棒了,直接转载了
  3. 关于国债的一些计算: 理论TF价格1(缴款日前无付息)
  4. java reflector_Java DefaultReflectorFactory类代码示例
  5. python字符串索引必须是整数_python – TypeError:字符串索引必须是整数...
  6. 语音推送提醒php,实时语音后台通知消息 - 百度免费的tts实现后台实时在线语音消息提醒 – 基于ThinkPHP和Bootstrap的极速后台开发框架...
  7. 懒货福利:html css中用Unicode编码代替img图片
  8. tensorflow 1.14 + cuda10.1 在Ubuntu 16.04上
  9. Incapsula CDN 入门指南
  10. Qt4 在x86和arm平台上的一些配置