【转】关于FILE **file

FILE是在stdio.h定义的保存文件流信息的一个结构体类型(也可能是在其它文件中定义了另外的数据类型,然后通过typedef定义FILE)。注意它本身是类型而不是结构体名,所以FILE类型在字面上虽然不包含struct,但实际表示一个结构体。FILE变量中保存的不止是文件路径,还有缓冲区指针、读写方式等一系列信息(具体实现不一定相同)。一般使用FILE*类型变量表示文件句柄,通过它来访问FILE结构体,对文件进行操作。FILE**是指向FILE*的指针。
现在考虑定义一个基类型为FILE*的数组,那么它的数组名就是const FILE**类型的地址常量(经过传递后退化成FILE**指针):
FILE* file[100];
file[1]=fopen("1.txt","r+");
成功的话file[1]就是一个有效的文件指针。
那么,等效的方法:
FILE** file;
file=malloc(100*sizeof(FILE*));
接下来这里file的使用和上面相同(当然,使用完后需要free以免内存泄露),区别仅在于file是动态数组,指向的若干FILE*变量在堆上而不是栈上。

 

转载于:https://www.cnblogs.com/lzhitian/archive/2012/11/26/2789865.html

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值