c语言中的函数调用

今天是我第一天写博客,最近一直在看c语言的书。函数调用是一个非常重要的知识点,相当于各个模块的“接口”,当然c语言里没有接口的说法。
c语言中实参和形参要么是基本的数据类型或者是结构体类型,当然也可以指针(地址),由于在c语言规定数组名就是一个地址,因此也可以把数组规定到指针的行列。另外,不要天真的以为指针是一种数据类型,int a;int ×p=a;指针因为存储了某种类型变量的地址而指向某个变量。下面就分两种情况来讨论一下。
首先,不管怎样,实参到形参都是值传递,只不过有时是一个具体的值,有时是值的地址。
1、当参数为基本数据类型变量或者是结构体变量时,实参把对应的变量的值传给了形参,为了体现出函数调用所取得的效果,可以选择在函数体设一个返回值即return a;作为函数的出口然后在主调函数里设一个变量接受这个return的返回值(如求两个整数的最值)。另外根据我看书的经验,也可以直接通过在函数体里执行输出语句将结果打印到屏幕上(如输出一个顺序表里的值)
2、第二种方式就是老师经常强调的传递指针,在内存块里存储着各个数据的指针,当实参把值传递给形参时,实参和形参共同指向同一段内存块,在被调用的函数里,对数据的各种操作都可以在主函数里体现,因为主函数里的实参始终指向内存块的一个地址。
如void main(){int b[10],*p;p=a;paixu(a,10);}void paixu(int a[],int n){.....}p就是一直指向数组a的首地址。
总之,慢慢体会,多看书,一定会有所收获。每一个在程序员道路上行走的屌丝都能看到新世纪的阳光。
  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值