简单学习一下结构体,因为在DSP里面结构体都是官方定义好的,我们用就可以,但是还是知其然也要知其所以然。
定义结构体的关键字:struct
典型用法(一):单层结构体,此处用到typedef struct 来重新定义结构体命名,所以在main函数里面可以直接通过Class对class1进行赋予结构体。
赋予结构体后,可以通过class1.的方式引出A\B\C三个选项。
typedef struct Class{
char A;
char B;
char C;
}Class;
int main(void) {
Class class1;
class1.A = 1;
// class1.A.lisi.age = 100;
return 0;
}
典型用法(二):嵌套结构体。DSP存在多级调用的机制,因此结构体一般有多层,介绍一下嵌套结构体。
typedef struct Information{
int id;
int age;
float score;
}Information;
typedef struct Student{
Information xiaoming;
Information lisi
Information zhangsan;
}Student;
typedef struct Class{
Student A;
Student B;
}Class;
int main(void) {
Class class1;
class1.A = 1;
class1.A.lisi.age = 15;
class1.A.lisi.id = 0001 ;
class1.A.lisi.score = 99;
return 0;
}
从上面代码可以实现具体某班、某学生、某项信息三层结构体,具体嵌套如上代码所示,可以对A班的李四同学的年龄、id、分数进行分别赋值。这里需要注意的是,假设信息为最底层结构体,那么在临近上一层结构体内需要用底层结构体定义变量。比如最底层是Information,那么上一层内具备这个底层结构的变量,就要用Information来定义。
在DSP中,就是通过这一层又一层的结构体对最底层的寄存器进行赋值的,因此有必要了解一下。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。