结构体的定义到底是怎么样的?
typedef struct s
{
}T;
老师讲这种情况下,没有新的类型。
而我的理解是,S是一种新的类型,T可以指代struct s.请问这种理解正确么?
此外书上讲
struct s
{
}a,b,c;
这里的a,b,c是变量名,而在本文最上面的代码中,T却并不是一个变量名。请问如何理解?
[解决办法]
#include <stdio.h>
typedef struct AA{
int val1;
}A;//A是变量类型,相当于int,double...
struct BB{
int val2;
}b;//b是变量,可以直接使用
int main()
{
A a;//由于A只是一个类型,所以必须先声明一个类型为A的变量a;等同于struct AA a;
a.val1=1;
b.val2=2;//b是变量,
return 0;
}
typedef struct s
{
}T;
// 等价于
struct s
{
};
typedef struct s T;