【发布时间】:2015-02-23 15:47:59
【问题描述】:
我正在查看我将要使用的代码here:
#include <sys/stat.h>
struct stat sb;
if (stat(pathname, &sb) == 0 && S_ISDIR(sb.st_mode))
{
...it is a directory...
}
我想如果我要使用它,我可能应该了解它的作用。我的问题是关于这条线
struct stat sb;
这是什么意思?我知道struct,就像声明它一样
struct node { int val; node * next; }
所以我很困惑为什么在结构声明之后有 2 个标记。
【问题讨论】:
-
它创建了一个
struct stat的实例。 -
@RSahu 那么为什么不只是
stat sb呢?为什么是struct? -
虽然在这种情况下,C 和 C++ 的一切都应该是一样的,但你应该真正决定要保留两个标签中的哪一个!
-
在
C中编程时,您必须使用struct stat sb;。只有在使用typedef struct stat stat;创建了typedef时,您才能使用stat sb;