以下是本书中的一些代码的副本" The C Programming Language,Second Edition"由K& R.我不知道如何以这种方式定义和初始化这些stdin
,stdout
,stderr
。请帮我解释一下。
FILE _iob[OPEN_MAX] = {
{0, (char *) 0, (char *) 0, _READ, 0},
{0, (char *) 0, (char *) 0, _WRITE, 1},
{0, (char *) 0, (char *) 0, _WRITE | _UNBUF, 2}
};
答案 0 :(得分:2)
此代码
FILE _iob[OPEN_MAX] = {
{0, (char *) 0, (char *) 0, _READ, 0},
{0, (char *) 0, (char *) 0, _WRITE, 1},
{0, (char *) 0, (char *) 0, _WRITE | _UNBUF, 2}
};
只是可用于初始化stdin
,stdout
和stderr
FILE结构的特定实例的代码示例。
只不过是如何初始化特定的示例实现并且与任何Linux,glibc,Windows或任何其他真实世界FILE
实现无关#&# 39;我曾经遇到过。
您发布的代码对每个数组元素都有五个值,因为这是实现示例在其FILE
结构中使用的内容。这些元素及其值仅特定于该示例实现。