c - 在程序中使用 typedef

标签 c typedef structure

昨天我考试了,有一道这样的题: 使用 typedef 编写一个程序来找出两个数字中较大的一个。

所以这个问题的解决方案是显而易见的吧?但是我们必须使用 typedef 这就是条件,所以这就是我所做的。

#include <stdio.h>

typedef struct {
    int a;
}LARGE;

void main()
{
    LARGE a,b;
    int c;
    scanf("%d%d", &a.a,&b.a);
    c = large(a.a,b.a);
    printf("%d", c);
}

这是主程序,我编写了一个名为 large() 的函数,它返回两个数中的最大值。

这就是我在我的程序中添加关键字 typedef 的方式,但是部门老师说我们应该使用 typedef 来创建新名称,而不是在结构中使用它,例如:

typedef int large a,b;

现在 large 是 int 的新名称。

但问题没有明确指定使用 typedef 为正在使用的数据类型创建新名称,所以我使用 typedef 使用结构编写程序,所以请告诉我什么是正确的方法。

提前致谢。

最佳答案

但是 typedef 的正确用法是为现有数据类型创建别名。如果你用它来命名一个匿名结构(这是一个完全有效的用法)那么它似乎错过了类(class)的重点。

你的答案确实有效,问题是你的老师可能想给 int 另一个名字。

关于c - 在程序中使用 typedef,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12658780/

相关文章:

c++通过网络发送结构

java - 先前有效的功能的链接不满意

c++ - 包括数据类型之间的斗争

在 R 中按所需顺序重新排列数据框的列

c++ - typedef 和枚举或枚举类

C++11 typedef 别名编译错误

c - 使用 Struct 加载和打印文件 - 借助 C 语言编程

c - C 文件处理中的相对路径

c - 从 C 代码获取当前使用的文件描述符的计数

c - 为什么它要求 4 个输入而不是 3 个?