为什么选B?USER fun()等价于什么?有谁可以解释?

题干:设有定义

#include

#include

typedef struct

{

int x,y;

} T;

typedef struct

{

int x,y;

} *USER;

USER fun( )

{

USER p;

p=(USER)malloc(sizeof(T));

p- >x=1;

p- >y=2;

return p;

}

函数fun返回值的类型是()。

A

T类型的结构体
B

指向结构体类型的指针
C

int类型的元素
D

int类型的指针

USER就是一个结构体指针类型,USER fun()就是fun函数,其返回值是USER类型,所以选B

USER fun( )是个函数啊,USER是返回值类型
那么很显然的,它不是个int也不是int型的指针,USER也跟T没有一毛钱关系,不是T的别名,它就是USER
因为定义的时候是*USER,所以USER是结构体指针类型