struct__FILE{int handle;}; 前面加类型说明符或存储类别说明符?
时间: 2024-02-16 15:59:51 浏览: 53
这个结构体定义缺少类型说明符,应该在前面加上struct关键字,并且后面应该给它起一个名字,例如:
```
struct FILE {
int handle;
};
```
这样就定义了一个名为FILE的结构体,它包含一个整型成员handle。在C语言中,结构体定义必须以关键字struct开头,后面跟上结构体名和花括号,花括号中是结构体的成员列表。
相关问题
struct FILE{int handle;}; FILE__stdout; FILE__stdin; 后面两句缺少类型说明符或存储类别说明符?
是的,后面两句缺少类型说明符或存储类别说明符。应该在定义变量时指定它们的类型。假设你想要定义两个文件指针,可以这样写:
```
struct FILE {
int handle;
};
struct FILE stdout_file;
struct FILE stdin_file;
```
这样就定义了两个名为stdout_file和stdin_file的文件指针,它们的类型是struct FILE。在C语言中,变量定义必须指定变量名和类型,可以使用结构体名作为类型名来定义结构体变量。
struct FILE{int handle;}; struct FILE__stdout; struct FILE__stdin; 语句作用?
这些语句定义了三个结构体,分别是`FILE`、`FILE__stdout`和`FILE__stdin`。
`FILE`结构体中只有一个成员变量`handle`,用于存储文件或设备的句柄。在C语言中,`FILE`结构体通常用于表示文件流(file stream),比如`stdin`、`stdout`和`stderr`等标准输入输出流。
`FILE__stdout`和`FILE__stdin`是两个自定义的结构体,用于分别表示标准输出流和标准输入流。这里使用了双下划线来避免与标准库中的同名结构体冲突。
需要注意的是,这里只是定义了结构体,并没有为这些结构体分配内存空间。在实际使用中,需要通过`malloc`等函数为结构体分配内存空间。