|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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
我就有点懵了。。这是完全按照老师的视频里的代码抄的,为啥本地会报错。。求各位大佬指教,谢谢。
|
|