首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

资料指针

2013-03-04 
文件指针?《C语言程序设计 现代方法》 第22章 输入/输出 22.1.1文件指针 C程序中对流的访问是通过文件指针实

文件指针?
《C语言程序设计 现代方法》
 第22章 输入/输出
 22.1.1  文件指针
 C程序中对流的访问是通过文件指针实现的。此指针的类型为FILE * (FILE * 类型在<stdio.h>中声明)


----------------------------

问题:
   1.头文件stdio.h,是怎样声明类型FILE * ?
[解决办法]
从某种意义上来讲,只要是“类型”,就没有什么不同。

int a;
a是一个变量,它是int类型,这个类型决定了a占据一定的内存空间(一般是4个字节);如果内存的内容是00 00 00 01,那么它表示1(即变量的值);另外,可以对它进行+操作,即a + 1什么的。

FILE * file;
file是个变量,它是FILE*类型。同样,它也占据一定的内存,根据1L给出的FILE的定义,它的内存也表示一些“东西”(即值的含义),也可以对它进行有意义的操作,比如fprintf(file, ...);。

一般的:
type identifier;
声明/定义了一个由identifier表示的变量,该变量有类型type,type决定了此变量占多大的内存,它的字节表示的意义是什么,能够对它进行什么操作。

上述的过程,就是变量和类型这些概念,由具象到抽象的一个描述。

C是一个高度符号化,抽象化的语言,这需要我们有具象到抽象的思维的能力。


至于FILE和int,从类型上来讲,没有区别。
从实现上来看,int是语言的一部分,是内置类型,编译器天生就认识的,所以不需要额外的头文件;
FILE是自定义类型(虽然它也是标准库的一部分,而标准库是整个语言标准的一部分),这和其他的自定义类型一样,是根据编程的需要,对于某些概念的一个抽象(比如FILE就是对文件的一个抽象),这种类型,是自己定义的,需要定义该类型的头文件。

热点排行