C语言中的值传递
来源:互联网 发布:淘宝哪家护肤品是正品 编辑:程序博客网 时间:2024/04/30 10:06
值传递问题
C语言是面向过程的语言,它把一个复杂的问题分解成一个一个子问题,然后通过函数去实现一个个子问题,也就是说函数是C语言基本的功能模块,函数也是源程序的基本组成单元。程序可采用自顶向下,逐步细化的设计方法把若干个独立的模块组装成所要求的程序。
C程序有且仅有一个主函数main,程序从主函数开始到主函数结束,主函数通过调用其它函数解决某个问题,其它函数也可以调用函数,但不能调用主函数。如果函数在被调用之前定义,那么被调函数就不用进行声明,否则要进行声明。
主调函数通过实参将值传递给被调函数的形参,注意实参和形参虽然要一一对应,但这是两个不同的变量,它们占用不同的存储空间,实参是在被定义时就占用存储空间,而形参是在被调用时才占用存储空间。实参可以是变量,常量但必须有确定的值,以便将值复制一份给形参,所以形参在被调函数中进行处理并不会影响实参的值,所以函数之间值是单向传递。形参可以通过return语句返回一个值给主调函数。
值传递还有一种情况是地址传递(本质也是值传递,只不过值是地址)。当实参是一个地址或着是一个指针时(数组名也是数组的首地址),这时实参和形参共用一个存储空间,形参在被调函数中处理会影响那个地址中的变量,所以此时形参会改变实参的值。那这种情况不就是值双向传递了吗?注意此时虽然形参改变了实参,但并不是值的双向传递,因为实参传递给形参的值是一个地址,而形参也没改变这个地址,只是改变了这个地址中变量的值。这是通过地址间接改变实参的值,并不是值的双向传递。
0 0
- C语言中的值传递
- C语言中的函数传递
- C语言中的参数传递
- C语言:值传递
- C语言中的值传递和引用传递(地址传递)
- C语言中的值传递与址传递和引用传递
- C语言中的二级指针(1) -- 值传递问题
- c语言实现cpp中的引用传递
- C语言 值传递与址传递
- C语言 值传递与址传递
- C语言地址传递与值传递
- C语言指针传递与值传递
- C语言函数传递与值传递
- C语言值传递与地址传递
- C语言值传递,C语言地址传递
- C语言值传递问题
- C语言的值传递
- c语言 值传递、地址传递、引用传递
- 15PB可乐杯CrackMe01分析
- (一)Mac OS 配置Java虚拟机 和 JDK
- Android—如何添加布局的标题栏
- jboss-as-7.1.1.Final 同步前端jsp、js、css
- win7下获取局域网内其他win或ubuntu系统电脑的MAC地址
- C语言中的值传递
- eth0 找不到
- 欢迎使用CSDN-markdown编辑器
- VB中WinSock控件的属性、方法、事件及应用
- GYM 101086 C.Everything(字典树)
- “玲珑杯”ACM比赛 Round #9 题解 (待续)
- jQuery插件开发中$.extend和$.fn.extend辨析
- 安装新旧版本的arm-linux-gcc交叉工具链(基于JZ2440)
- [递归]CODEVS-3145 汉诺塔游戏