struct Test { int i; };
解析:此处声明一个Test的结构体。
使用:在C语言中:struct Test t(此处的struct不可省略),在C++中:Test t(能够省略struct)
struct Test { int i; } test;
解析:在C语言中:此处声明一个Test结构体。命名为test,即test = struct Test。
在C++中:此处声明一个Test结构体,并声明一个Test结构体类型的变量test。
使用:在C语言中:struct Test t 或者 test t。在C++中:test已经是个变量。
typedef struct Test { int i; } test;
解析:此处声明一个Test的结构体。然后命名为test。在C语言中:test = struct Test 。
在C++中:test = Test
使用:在C语言中:struct Test t 或者 test t。在C++中:Test t 或者 test t
typedef struct { int i; } test;
解析:此处声明一个匿名的结构体,然后命名为test。作用和上面一样,是上面的简单写法。
使用:在C语言和C++中都是test t