它是一个定义还是一个声明?

这个问题在这里已经有了答案:

  • 定义和声明有什么区别? 25个答案

  • 这是一个声明。 它声明了struct foo类型。

    (C99,6.7p5)“声明指定了一组标识符的解释和属性,标识符的定义是对该标识符的声明:

    - 对于一个对象,导致为该对象保留存储空间;

    - 对于功能,包括功能体; 101)

    - 对于枚举常量或typedef名称,是标识符的(唯一)声明。“


    你的理解是正确的。 你的代码示例是一个类型的声明。 在'C'中,你可以声明一个类型并立即用它来定义一个变量。

    所以你的例子是一个纯粹的声明。

    这里是一个声明+变量定义的例子:

    struct foo {
         char name[10];
         char title[10];
         int  salary;
    } var;
    
    链接地址: http://www.djcxy.com/p/40625.html

    上一篇: Is it a definition or a declaration?

    下一篇: Declare in C == define in C++?