首页 > 其他分享 >STM32中包含的c语言基础知识(2023/7/19)

STM32中包含的c语言基础知识(2023/7/19)

时间:2023-07-19 21:24:24浏览次数:41  
标签:week typedef 定义 19 STM32 int 2023 变量 结构

 关键字为c语言中的应用,表示的范围根据使用的范围不同,也发生了相应的变化,比如char本来是用来表示字符的,现在也可以用来表述数字;int在c中是16位的,在32中表示32位,long和int的长度相同,longlong基本不使用。

stdint关键字的库文件给我们提供的,ST文件是以前的库文件用的命名方式,现在同样兼容

 

 define表示宏定义,在程序的一开始就定义,方便后期的数字更改

 

 typedef和宏定义一样,将长的变量换名字。

两者的区别:1.define定义的新内容在左边,typedef定义的新内容在右边;

      2.define定义完之后不需要加‘;’,而typedef需要加‘;’;

      3.可以define定义的范围更加广一点,typedef只能定义变量类型,非常局限

 

 结构体和数组的区别

1.结构体打包不一样的数据类型的变量;数组只能打包同一类型的变量

例:

数组int b [5]表示定义了一个数组,其中包含五个整数型变量

结构体struct{char x; int y; float z;}c;表示定义了一个名为c的结构体,其中包含char类型的x变量,int类型的y变量和float类型的z变量

 

2.引用方式不同

数组引用b[0],、b[1]......

结构体引用c.x、c.y......

 

ps:结构体联合typedef使用

例:typedef struct{

  char x;

  int y;

  float z;

}StructName_t;//定义StructName_t为结构体的新名字,方便后期的调用

 

StructName_t c;

StructName_t d;//快速定义结构体变量c,d,其中StructName_t为结构体的类型,c,d为结构体的名字

 

两种引用结构体的方法:

c.x='A';

c.y=66;

c.z=1.23//可以通过变量名.结构体成员数据来引用结构体

 

pc.x->x='A';

pc->y=66;

pc->z=1.23;//可以通过结构体指针名->结构体成员名来引用结构体成员

 

enum可以给定数值的范围,例:

enmun={MONDAY=1,TUESDAY=2,WEDNESDAY=3} week;//定义了枚举只能有1~3三个数字的范围

enum可以和typedef一起使用:

typedef enum{

  MONDAY=1,

  TUESDAY=2,

  WEDNESDAY=3

}  Week_t;//其中要注意,两个变量之间用,隔开;当表述的是按顺序排列的数字时,后面的数字可以被省略,如下所示

typedef enum{

  MONDAY=1,

  TUESDAY,

  WEDNESDAY

}  Week_t;

 

调用:Week_t=week;

week=MONDAY;//week=1;

week=TUESDAY;//week=2;

 

标签:week,typedef,定义,19,STM32,int,2023,变量,结构
From: https://www.cnblogs.com/jlxaiyjx/p/17566722.html

相关文章

  • 7.19总结
    今天还是无心学习,那就做了最基础的配置应用,将maven导入idea(虽然知道idea自己有),但我不懂,就按照视频说的下载了另外的,在创建maven芯模块的时候,他说不支持版本,然后视频也没讲解,我就在csdn上面搜了搜,终于找到解决办法,原来是我idea配置的java编辑器版本很低,我就换了稍微高点的版本,最后......
  • 2023/7/19
    今天主要完成了几道关于字符串的练习题package练习;publicclass数字位数{publicstaticvoidmain(String[]args){StringBuildersc=newStringBuilder();longl=1234567890987654321l;//long型数据后面要标注l,float数据后面要标注f......
  • 7.19 做题记录
    [AGC060E]NumberofCycles交换\(x_i,x_j\)必定使得\(y\)也有一对交换,于是\(f(x)+f(y)\)的变化量为偶数,所以只要这个数与初始奇偶性不同则无解。一个初步的想法是,找到\(f(x)+f(y)\)的上下界调整。上界在\(x=1,2,3...,n\)时取到,可以用反证法证明。下界的构造......
  • 7.19日
    一、科一刷题,可以及格了已经。二、打杭州电子科技大学多校训练营三、学了一下数论的求逆元,还有求组合数。四、负重跑了三公里,练引体向上。五、明天继续刷科一题,学算法,有时间就学一下html......
  • 7.19 后记
    我去,崩原铁Kuglarz用\(Dijkstra\)TreeI加权,二分最优比例生成树树的重心Centroids一个点不是重心说明一定有一个子树大小超过\(n/2\),削掉这颗子树一部分(最大不超过\(n/2\))NP-Hard连续攻击游戏老师教的:并查集我写的:二分图一边为装备,与属性连边一边为\(1......
  • 2023.7.19 周三:冒泡排序
    1importjava.sql.SQLOutput;2importjava.util.Arrays;3importjava.util.Scanner;4//冒泡排序5publicclasstest{6publicstaticvoidmain(String[]args){7int[]a={5,4,6,8,9,1,7,2,3};8intarray[]=sort(a);9S......
  • 7.19
    搜索DFS就是通过递归来搜索,枚举所有情况来求解。搜索相对于多个for循环嵌套来说肯定效率更高,在数据会很大时更容易实现,但有时避免不了TLE,所以需要进行优化:剪枝1.最优性剪枝再求解时如果当前情况比已知的解差,或无法优于已知解,然后return,所以就可以先搜索容易成为最优解的方......
  • 2023“钉耙编程”中国大学生算法设计超级联赛(1)
    1001Hide-And-SeekGame题意:给出一颗树,两人在树上特定两点来回走,问最早在那个节点相遇思路:枚举所有点,看它是否同时在两条链上,如果在,那么结合周期、两人最早到达时间,返回到达时间得到4个同余方程(拓展欧几里得),然后得到最小可能解#pragmaGCCoptimize(2)#pragmaGCCoptimize(3......
  • 20230719巴蜀暑期集训测试总结
    T1赛时打了一个\(O(n^3)\)\(16pts\)暴力和一个似乎可以过一个\(20pts\)特殊性质但其余无正确性的贪心。结果出来发现特殊性质挂了一个点,另一个地方还莫名其妙对了。说明特殊性质挂掉了,如果运气不好可能就挂到\(16pts\)了。考后看题解发现\(O(n^2)\)其实也是不难想的,有点......
  • [SUCTF 2019]EasySQL
    [SUCTF2019]EasySQL题目来源:buuctf题目类型:web涉及考点:SQL注入、堆叠注入1.题目给了一个输入框,先随便传点东西进去传入数字回显如下:传入flag回显如下:传入字符无回显没什么其他线索了,还是爆破一下看看过滤了哪些字符:返回长度为507的字符都是被过滤了的,包括uni......