a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 64|回复: 0

[C语言] C语言-基础教程-C语言函数的调用与参数

[复制链接]
发表于 2012-7-31 21:48:08 | 显示全部楼层 |阅读模式
  如果一个函数要使用参数,它就必须定义接受参数值的变量。
6 Z9 Y8 I/ [  ^! A* b. v. a  4.3.1 形式参数与实际参数/ }# s$ g7 Q# d7 A8 G9 v1 {
  函数定义时填入的参数我们称之为形式参数,简称形参,它们同函数内部的局部变量作用相同。形参的定义是在函数名之后和函数开始的花括号之前。2 x1 H! |- c. O* e% T7 S
  调用时填入的参数,我们称之为实际参数,简称实参。+ c" u# _) K, Z- S- ~
  必须确认所定义的形参与调用函数的实际参数类型一致,同时还要保证在调用时形参与实参的个数出现的次序也要一一对应。如果不一致,将产生意料不到的结果。与许多其它高级语言不同,(是健壮的,它总要做一些甚至你不希望的事情,几乎没有运行时错误检查,完% c% s+ g/ D. W8 o2 P& q$ j
  全没有范围检测。作为程序员,必须小心行事以保证不发生错误,安全运行。* x7 [9 }3 E' D7 s2 l% h7 L, \
  4.3.2 赋值调用与引用调用
0 A& y- |" n. }6 y$ O  一般说来,有两种方法可以把参数传递给函数。第一种叫做“赋值调用”(call by value),这种方法是把参数的值复制到函数的形式参数中。这样,函数中的形式参数的任何变化不会影响到调用时所使用的变量。
, p0 a9 E- i3 @7 H7 D  把参数传递给函数的第二种方法是“引用调用”(call by reference)。这种方法是把参数的地址复制给形式参数,在函数中,这个地址用来访问调用中所使用的实际参数。这意味着,形式参数的变化会影响调用时所使用的那个变量(详细内容请参见后续章节)。3 W* i4 l8 ]4 r6 V! U$ {
  除少数情况外,C语言使用赋值调用来传递参数。这意味着,一般不能改变调用时所用变量的值。请看例4 - 9。
- W- R& ]1 m) H, e. T7 U: h( H% L$ `
" }1 J4 |( e0 P1 g# [# v  P  在这个例子里,传递给函数sqr( )的参数值是复制给形式参数x的,当赋值语句x = x * x执行时,仅修改局部变量x。用于调用sqr ( )的变量t,仍然保持着值10。
$ G; ~1 d) Z: }- s2 O  执行程序:
2 @! z7 S" Y8 X2 |) _% U2 q; I  RUN ! H+ r% W  \! S& L9 Q
  100 10' W/ U6 P( y. @; F
  切记,传给函数的只是参数值的复制品。所有发生在函数内部的变化均无法影响调用时使用的变量。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Woexam.Com ( 湘ICP备18023104号 )

GMT+8, 2024-6-13 19:45 , Processed in 0.274861 second(s), 22 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表