嵌入式小白自学之路——C语言

二、存储相关的关键字 、控制语句相关的关键字 ​​​​​​​以及其他关键字sizeof、typedef、volatile

1.

存储相关的关键字

register、static、const、auto、extern

1.register,是寄存器的意思,用register修饰的变量是寄存器变量。

即:在编译的时候告诉编译器这个变量是寄存器变量,尽量将其存储空间分配在寄存器中。

注意:1.定义的变量不一定真的存放在寄存器中

2.cpu取数据的时候去寄存器中拿数据比去内存中拿数据要快

3.因为寄存器比较宝贵,所以不能定义寄存器数组

4.register只能修饰字符型及整形的,不能修饰浮点型

5.因为register修饰的变量可能存放在寄存器中不存放在内存中,所以不能对寄存器变量取地址,因为只有存放在内存中的数据才有地址。

2.static是静态的意思

static可以修饰全局变量,局部变量,函数

使用static修饰的变量,此变量保存在内存的静态区空间中

3.const

const是常量的意思,用const修饰的变量是只读的,不能修饰它的值

const可以修饰指针,

4.auto

auto int a 和int a 是等价的,auto关键字现在基本不用

5.extern

是外部的意思,一般用于函数和全局变量的声明

2.控制语句相关的关键字

if else break continue for while do switch case goto default

条件控制语句:

if语句:if else

switch语句:switch case default

循环控制语句:

for while do goto

辅助控制语句:

break continue

3.其他关键字sizeof、typedef、volatile

1.sizeof 用来测变量,数组的占用存储空间的大小(字节数)

#include<stdio.h>
int main(int argc,char * argv[])
{
    int aa = 10;
    int num;
    num = sizeof(aa);
    printf("%d",num); 
    return 0;
​
}

2.typedef 重命名相关的关键字

关键字,作用是给一个已有的类型,重新起个类型名,并没有创造一个新的类型,

(1).用想起名的类型定义一个变量

short int a;

(2).用新的类型名替代变量名

short int INT16;

(3).在最前面加typedef

typedef short int INT16;

(4).就可以用新的类型名定义变量了

INT16 b;和short int b;//是一个效果

3.volatile 易改变的意思

用volatile定义的变量,是易改变的,即告诉cpu每次用volatile变量的时候重新取内存中取,保证用的是最新的值,而不是寄存器中的备份

volatile 关键字现在较少适用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值