Arduino结构体变量使用
Posted perseverance52
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Arduino结构体变量使用相关的知识,希望对你有一定的参考价值。
Arduino结构体变量使用
程序源码:
/*****本文使用arduino nano********/
//声明 B
struct B
{
char c;
short s;
double d;
};
//声明 Stu
struct Stu
{
//成员变量
struct B sb;
char name[20];//名字
int age;//年龄
char id[20];
} s1,s2;//定义结构体变量s1和s2
//s1,s2是全局变量
void setup() {
Serial.begin(115200);
//初始化,s是局部变量
struct Stu s = { {'w', 20, 3.14}, "张三", 30, "202005034"};//对象
//. -> 结构体的访问,前面的关键字struct可省
Serial.println( s.sb.c);
Serial.println( s.id);
//结构体指针访问指向变量的成员,有时候我们得到的不是一个结构体变量,而是一个指向一个结构体 的指针
struct Stu* ps = &s;//定义指向结构体的指针,前面的关键字struct可省
char buff1[14];
sprintf_P(buff1, PSTR("%c\\n%c\\n"),(*ps).sb.c, ps->sb.c);
Serial.println(buff1);
}
void loop() {
}
- 打印结果:
++ 本文由坛友的《结构体struct【零基础搞定C语言——12】》来延伸的
总结:
++ 几点需要注意的的知识点如下:
– 结构体本身信息元素跟C语言中的差不多;
– 在使用结构体定义变量或者对象的时候,C++其实更简洁,可以少一个关键字,相当于自动做了一个数据类型的定义;
– 进行赋值的方式需要注意要带着结构体名称,类似一个强制转换的操作;
– 成员的访问跟C差不多。
以上是关于Arduino结构体变量使用的主要内容,如果未能解决你的问题,请参考以下文章
C 语言结构体 ( 结构体变量内存操作 | 通过 “ . “ 操作符操作结构体内存空间 | 通过 “ -> “ 操作符操作结构体内存空间 )
C 语言结构体 ( 结构体类型定义 | 结构体类型别名 | 声明结构体变量的三种方法 | 栈内存中声明结构体变量 | 定义隐式结构体时声明变量 | 定义普通结构体时声明变量 )