马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
按照老师在《带你学C带你飞》的第 50 课(基础typedef)课程最后的代码来写了一下,结果发现,不用typedef没有任何问题,用了typedef就会报错,具体代码如下:
不用 typedef 代码:
#include <stdio.h>
#include <stdlib.h>
struct Date
{
int year;
int month;
int day;
};
int main(void)
{
struct Date *date;
date = (struct Date *)malloc(sizeof(struct Date));
if (date == NULL)
{
printf("内存分配失败~!\n");
exit(1);
}
date->year = 2022;
date->month = 5;
date->day = 1;
printf("%d-%d-%d\n", date->year, date->month, date->day);
return 0;
}
运行结果很顺畅,直接显示了:
下面是用了 typedef 代码的:
#include <stdio.h>
#include <stdlib.h>
typedef struct DATE
{
int year;
int month;
int day;
} Date;
int main(void)
{
struct Date *date;
date = (Date *)malloc(sizeof(Date));
if (date == NULL)
{
printf("内存分配失败~!\n");
exit(1);
}
date->year = 2022;
date->month = 5;
date->day = 1;
printf("%d-%d-%d\n", date->year, date->month, date->day);
return 0;
}
然后界面上就提示:
注:本机开发环境是 win10,编辑器是 vscode,C/C++编译器用的是 MINGW64
我就有点懵了。。这是完全按照老师的视频里的代码抄的,为啥本地会报错。。求各位大佬指教,谢谢。
|