【发布时间】:2013-02-27 16:39:47
【问题描述】:
我有代码:
#DEFINE NEW = 1;
还有一个结构:
typedef struct PCB
{
/*Process state:new, ready, running, waiting, terminated*/
int state;
}PCB;
如何分配 NEW,例如 state=1?
更多信息,我得到了错误:
expected ‘:’, ‘,’, ‘;’, ‘}’ or ‘__attribute__’ before ‘=’ token
【问题讨论】:
-
#DEFINE NEW = 1;去掉分号和'=',转为小写。 -
这些被称为预处理器宏,而不是“散列定义的变量”。我建议您在尝试编写整个操作系统之前阅读 C 的基础知识。
-
对不起,人只是一个快速的问题,不记得去年的编程,我是 c 的菜鸟,忘记了。而且我不是在写一个完整的操作系统,只是一个进程调度程序。这对我来说很难......但是谢谢
-
认为它是散列定义的变量,因为你定义的散列和变量名
-
顺便说一句:您不能在结构定义(或 typedef)中初始化。首先:定义一个结构,然后使用(实例化)它,可能使用 NEW 宏的扩展。
标签: c hash struct c-preprocessor assign