函数调用(续)

形式参数是在调用的时候临时创建出来的
在函数运行期间形式参数一直可以使用,在函数结束时形式参数被销毁
        实际参数和形式参数在内存中占据的是不同的存储位置,任何一个的变化都不会影响另外一个
        参数列表为空表示参数个数任意,参数类型任意
形参列表为 void 表示没有任何形式参数 

数组可以作为函数的形式参数
数组形参可以用来代表一组个数未知的数字
数组做形参时需要另外的形参用来表示数组中数字的个数
        数组名称可以做为实参 和数组形参配合使用

数组做形参时被调函数只获得数组中第一个存储位置的地址,被调用函数可以根据这个地址使用数组中任何一个存储位置。
    数组做形参时被调函数可以修改实参的内容,这个时候被调用函数可以直接使用调用函数中的变量
       普通变量做形参只能把数据从调用函数传递到被调函数,这种形参叫做输入参数
    数组做形参可以实现双向数据传递,这种参数叫做输入输出参数
单一变量的地址也可以和数组形参配合使用  &a
函数可以分成函数声明和函数体两部分
    函数声明可以独立成为一条语句,这个时候可以省略所有形参的名称
如果函数调用语句写在函数声明前面则 gcc 编译程序是会进行隐式函数声明
所有函数的隐式声明格式一样,返回值是一个 int 类型变量,参数个数任意类型任意
    函数的隐式声明类型不可靠,不可用
    把函数的声明语句在文件开头单独写一条语句叫函数的显示声明
除了主函数以外的所有函数都应该进行显示声明
    
    
    文件操作相关函数包括
1. fopen 标准函数用于打开一个文件
2. fclose 标准函数用于关闭文件
3. fread / fwrite 标准函数用来从文件中读数据或向文件中写数据

    文件分为两中:  文本文件 , 二进制文件
     
常见的文件打开模式
"r"    :   只能从文件中读数据,从文件头开始,要求文件必须存在
"r+"   :   可以从文件中读数据也可以向文件中写数据,从文件头开始对文件进行操作,要求文件已经存在
"w"    :  只能向文件中写数据,从文件头开始,如果文件不存在则新建一个文件,如果已存在则删除文件中所有内容
"w+"   :   比 "w" 方式多了读的功能
"a"    :   只能向文件中写数据从文件尾开始写,如果文件不存在则新建一个,如果已存在则在原内容后面追加心内容
"b"    :   可以和上面任何一个打开方式混用  
字母 " b " 表示对二进制文件进行操作   "ab" 
fopen 标准函数需要文件路径和打开模式
fopen 有可能失败,返回值当布尔值使用时为真表示打开成功,否则表示失败
每次完成对文件的所有操作后必须使用 fclose 标准函数关闭这个文件
关闭文件时需要使用实参表示要操作的文件
fread 标准函数可以把二进制文件中数据拷贝到内存中某些存储位置里
fwrite 标准函数可以把内存中某些存储位置里的数据拷贝到文件中
    
fread/fwrite 在使用时需要四个实参
1.内存中一组连续存储位置中第一个的地址
2.单个存储位置的大小
3.希望操作的存储位置个数
4.要操作的文件  (fopen文件的返回值)
返回值表示实际操作的存储位置的个数
    
        
   1.递归函数
   2.变量的生命周期和作用域 
   3.生命变量时可使用的关键字

   

练习

   1.编写程序把 b.out 文件复制成 c.out 文件
   2.编写程序把刚才生成的人员信息打印在屏幕上
   3.编写函数把一个数组中所有内容颠倒
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值