楼上,我无语... 答案应该是B... 这个定义的结果就是T等价于struct S你可以struct S a;或者T a;这样定义变量。 直接S a;是不可以的,所以A不对。 而S和T都不是变量标识符,所以C和D不对
我也无语了答案应该是B... typedef表示的是 把struct s{}这个结构体类型 定义为一个新类型名字叫T可以用两种方法定义一个该结构体的实例:struct S p;T p;注意typedef的定义啊另外,在C++里面,已经把struct 默认为类类型了,因此在支持C++的编译器里面就可以使用S p;但是在C里面这个是错误的
你先看这,typedef这个定义是定义一个新的类型,而结构体的基本结构是 struct x{}; 这个也就决定了S是这个结构体的一个名称,而T是用来表示这个S的结构体的,比如说,typedef int F,现在F的意思也就是int了,而在上面,T当然也就是代表S类型的结构变量咯。