为什么struct在C / C ++中有两个变量名

时间:2014-04-01 00:44:07

标签: c++ c struct

在下面的代码中,为什么struct有两个变量名?

#include <sys/resource.h>

int main (int argc, char **argv)
{
    const rlim_t kStackSize = 64L * 1024L * 1024L;

    struct rlimit rl;    //HERE

    int result = getrlimit(RLIMIT_STACK, &rl);


    return 0;
}

2 个答案:

答案 0 :(得分:2)

在C中,带有标签的struct是一个名称,除非它typedef编辑。

在C ++中,您可以省略struct关键字。

答案 1 :(得分:1)

如果这是C,struct只是告诉C它在不同的命名空间中。

请参阅:understanding C namespaces

如果这是C +++,则不需要struct