Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Typedef&;C格式的枚举和提示_C - Fatal编程技术网

Typedef&;C格式的枚举和提示

Typedef&;C格式的枚举和提示,c,C,我正在试图弄清楚如何正确使用typedef enum。我可以对以下内容做些什么,如何从typedef enum调用值,以及如何将typedef enum中的一个值链接到数组中的一个数字?谢谢 typedef enum { A1 = 10, A2 = 20, A7 = 25, A9 = 91 } Select; 如果您是C新手,您必须首先了解typedef和enum的用途,然后才能弄清楚该enum typedef的意图(我假设它来自某个赋值?)。查看此帖子中提供的答案: 关于您的

我正在试图弄清楚如何正确使用typedef enum。我可以对以下内容做些什么,如何从typedef enum调用值,以及如何将typedef enum中的一个值链接到数组中的一个数字?谢谢

typedef enum
{
  A1 = 10,
  A2 = 20,
  A7 = 25,
  A9 = 91
} Select;

如果您是C新手,您必须首先了解typedef和enum的用途,然后才能弄清楚该enum typedef的意图(我假设它来自某个赋值?)。查看此帖子中提供的答案:

关于您的问题-“我如何从typedef enum调用值,以及我可以将typedef enum中的一个值链接到数组中的一个数字吗?”- 枚举中的“值”实际上是常量(类似于宏定义)。它们可以分配给变量,并像任何常量一样传递给函数

您会问,使用typedef枚举可以做什么?首先,如果使用得当,它可以提高代码的可读性。键入定义枚举时,指定的是新的数据类型。使用此新类型声明的变量应采用枚举中指定的值。没有什么可以阻止这些变量获取其他值,但是代码变得更可读,并且所有阅读代码的人都清楚这些变量的意图。错误代码通常有枚举。因此,使用此类typedef枚举声明的状态变量可能包含枚举中列出的错误代码之一


如果我冒昧猜测一下,您指定的枚举可能包含数组中感兴趣的索引,或者数组中某些索引处的预期值。不管怎样,如果你仔细阅读剩下的代码,你会发现你自己

你所说的“调用值”是什么意思?或者通过“将这些值中的一个[…]链接到数组中的数字”
typedef
声明类型的别名。然后使用定义的别名,即
选择
,作为需要类型名的任何位置的类型名。就枚举常量而言,它们可以用作类型化常量,就好像它们被声明为
const int
类型的变量一样。