嵌入式C语言学习笔记-常见关键字

关键字

sizeof

在不同的编译器或者系统中,int a; sizeof(a)的值是不一样的;

数据类型关键字 -- 内存限制的符号

C语言操作的对象:资源/内存(内存类型的资源,LCD缓存,LED灯)

C语言如何描述这些资源的属性?

大小(数据类型关键字是限制内存大小的一组特殊的关键字)

char
硬件芯片操作的最小单位:
bit比特 0 1
​
软件操作的最小单位:
byte拜特 8bit=1B 
将最小的操作单位集合起来进行操作,同时也可以避免对硬件直接进行操作
​
应用场景:
硬件处理的最小单位
ASCII码
面向硬件

int
int大小:
根据编译器来决定
​
编译器最优处理大小:
CPU的数据总线的最大容量,系统一个周期所能接收的最大处理单位:int
32bit  4B  int
16bit  2B  int
​
应用场景:
对数字的处理

long,short
特殊长度的限制符:
​
unsigned,signed
无符号:数据
有符号:数字(运算)
区别:所对应的内存的最高位,它看作符号位还是数据位
​
float,double
浮点数在内存中的表现形式与整型完全不同
float  4B
double 8B

void
void a;占位
并没有申请空间,只是声明了一个变量名 a
​

自定义数据类型

C语言编译器默认定义的内存分配不符合实际资源的形式

struct结构体
struct myabc{ //自定义了一个名字为myabc的结构体变量,并没有声明变量
    unsigned int a;
    unsigned int b;
    unsigned int c;
    unsigned int d;
};
struct myabc mmm;//声明
​

uoion共用体
在同一个起始地址,来各自申请空间
​
union myabc{
    char a;
    int b;
};
union myabc mmm;
应用场景:
技巧型代码

enum
enumerate  一一列举
作用与#define一致,但可以更好的描述一种常量的集合
一堆整型常量的集合
​
enum 枚举名称{常量列表};
enum abc{MOD=0;TUE;WED};//定义enum数据类型,abc的数据类型的取值限制在括号中的内容(方便人识别交流)
//可自定义数据的取值,也可以规定第一个,之后++
enum abc a1=MOD;//声明变量a1,变量a1的取值范围在MOD TUE WED三个常量中
//可以将a1看作一个变量,其内存大小为int型内存大小
//依据编译器的实际情况,有些a1可以取属于int类型的其他数据 a1=800;
​

typedef 别名
提高可读性
xxx_t:别名的命名
​
int a;//a是一个int类型的变量
typedef int a_t;//a是一个int类型的别名
a_t mysize;//==int mysize;
​

逻辑结构关键字
if else 条件
switch case default多分支
switch(整型变量/char)
do while for循环
for:次数
​
while:条件
do
continue break goto 控制符

类修饰符关键字

资源的大小限定:数据类型

资源的位置限定:类修饰符 -- 可读可写等

auto
 默认情况下
 分配的内存可读可写
 该区域的定义如果在{}中,则分配的是栈空间
register
int a;
register int a;//变量定义在寄存器上
​
当变量a使用超级频繁时,定义一些快速访问的变量0
编译器会尽量的安排CPU的寄存器区存放变量a,如果寄存器空间不足,a还是存放在内存中
寄存器的地址名称:R1,R2.... -->“&”符号对register不起作用
static 静态
static定义的变量,内存不会被自动清楚,也就是说赋值之后只能手动清零
修饰三种数据
1.函数内部的变量
2.函数外部的变量
3.函数的修饰符-》静态函数
extern 外部声明

const常量的定义
不能更改的量--》只读的变量
volatile
告诉编译器编译方法的关键字,不优化编译
修饰变量值的修改,不仅仅可以通过软件,也可以通过其他方式(硬件外部的用户)
与硬件关系较大
​
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值