前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >DSP中的C语言(二)——结构体的定义

DSP中的C语言(二)——结构体的定义

原创
作者头像
好派笔记
修改2021-09-17 18:09:54
1.3K0
修改2021-09-17 18:09:54
举报
文章被收录于专栏:好派笔记好派笔记

简单学习一下结构体,因为在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 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档