请问这两段代码struct和typedef struct有什么区别

2025-06-24 06:08:57
推荐回答(1个)
回答1:

如果不使用typedef struct,你定义的结构体将会是如下的样子。

//定义
struct test
{
void fun()
{
printf("hello,world\n");
}
};
//对象
struct test t;

而使用了typedef struct,将会是这样

//定义
typedef struct test
{
void fun()
{
printf("hello,world\n");
}
}BB;
//对象
BB t;

其实优势就是在于在创建对象时候可以少写一些字符,便于理解,这个#define的功能差不多,只是define实在编译前处理而typedef是在编译的时候进行处理。