Confused about how struct works in this piece of code
我在这里看了一段我要用的代码:
1 2 3 4 5 6 7 8 | #include <sys/stat.h> struct stat sb; if (stat(pathname, &sb) == 0 && S_ISDIR(sb.st_mode)) { ...it is a directory... } |
我想,如果我要使用它,我可能应该理解它的作用。我的问题是关于这条线
1 | struct stat sb; |
那是什么意思?我知道
1 | struct node { int val; node * next; } |
所以我很困惑为什么在结构声明之后有2个标记。
在C语言中,结构不是自动的类型名,因此您必须使用
在C++中,关键字是可选的,因为结构、枚举和联合(加类)是类型的,但是仍然可以写入EDCOX1 OR 5。关于
这
1 | struct node { int val; node * next; } |
可以称为"struct stat"类型的定义这
1 | struct stat sb; |
只需创建该类型的结构(该结构已在其他地方定义)例如,在stat.h中;-)