// define a timer
struct lightTimer {
unsigned long time; // time in seconds since midnight so range is 0-86400
byte percentage; // in percentage so range is 0-100
};
// define a list of timers
struct lightTable {
lightTimer timer[50];
int otherVar;
};
// and make 5 instances
struct lightTable channel[5]; //all channels are now memory allocated
7条答案
按热度按时间mkshixfv1#
struct的每个成员变量一般都有一个 name 和一个 type,在你的代码中,
A
的第一个成员有类型int
和名称data
,第二个成员只有一个类型,你需要给予它一个名称,比如b
:要做到这一点,编译器需要已经知道
B
是什么,所以在声明A
之前 * 声明该结构。若要访问嵌套成员,请按名称引用路径沿着的每个成员,名称之间用
.
分隔:c9qzyr3d2#
owfi6suc3#
现在您可以将其用作,
68bkxrlz4#
A
中的struct B
必须具有某种名称,以便您可以引用它:vnjpjtjt5#
o0lyfsai6#
atmip9wb7#
我有一些像下面的代码运行了一段时间现在生活和它的工作。
@zx485:编辑:编辑/清除代码。原谅原始转储。
说明:
定义一个lightTimer。基本上是一个包含2个变量的结构体。
定义一个lightTable,第一个元素是lightTimer。
创建实际(命名)示例:
我们现在有5个频道和50个计时器。
访问方式: