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() {


}

++ 几点需要注意的的知识点如下:

– 结构体本身信息元素跟C语言中的差不多;
– 在使用结构体定义变量或者对象的时候,C++其实更简洁,可以少一个关键字,相当于自动做了一个数据类型的定义;
– 进行赋值的方式需要注意要带着结构体名称,类似一个强制转换的操作;
– 成员的访问跟C差不多。

以上是关于Arduino结构体变量使用的主要内容,如果未能解决你的问题,请参考以下文章

Arduino EEPROM对结构体数据存储和读取

分享几个实用的代码片段(第二弹)

分享几个实用的代码片段(第二弹)

C 语言结构体 ( 结构体变量内存操作 | 通过 “ . “ 操作符操作结构体内存空间 | 通过 “ -> “ 操作符操作结构体内存空间 )

C 语言结构体 ( 结构体类型定义 | 结构体类型别名 | 声明结构体变量的三种方法 | 栈内存中声明结构体变量 | 定义隐式结构体时声明变量 | 定义普通结构体时声明变量 )

如何初始化静态 arduino (C) 数据结构,然后使用它们?