Linu学习(c语言学习之关键字)

对于Linux的开发而言C语言非常重要,本节学习的是C语言常用的关键字以及运算符的操作。
什么是关键字?
就是编译器预先定义的有一定意义的字符串,在C语言中有32个关键字。
下面是列举的一些关键字:
sizeof:编译器查看变量所占的内存大小的工具
return :函数的返回值
数据类型关键字:
占用的字节数根据编译器的不同所占有的字节不同
char:一个字节(八个位也就是8bit)
int:四个字节
long、shot;unsigned,signed;
float:四个字节
double:八个字节
无符号 : 数据
有符号 : 数字
void 语义符;
自定义数据类型:
typedef:数据类型的别名
struct:元素之间的和(定义一个结构体,结构体是一个累加的过程)
union: 共用体是一个重合的过程(共用起始地址),共用体在写法上和 struct是一样的;
enum:就是枚举,就是一个被命名的整型常数的集合,效果和宏定义相同,在不同的芯片之间enum的使用会比较多;
逻辑结构:
分支,循环;
if-----else;根据条件的不同执行不同的命令
switch(整型变量,不能是浮点数)----case------default;多种选择性,每一种选择性只执行一次
do-----while;循环的条件
for循环,直观的感觉是循环的次数
continue表示的就是继续
break表示直接跳出循环
goto在同一个函数内部进行跳转
类型修饰符:
auto 系统默认使用的自动变量,在普通内存可读可写的区域
register变量放在寄存器中的修饰符,编译器会尽量的安排CPU的寄存器去存放定义的变量,如果寄存器不足,变量还是会被放在存储器中,&对于register是不起作用的
static申明静态的变量,可以修饰函数内部的变量、函数外部的变量(全局变量)以及函数,只起到一次申明的作用
const定义常量,修饰只读的变量
extern外部声明,常用于不同.c文件之间
volatile并不是内存存放位置的修饰符,是一个告知编译器方法的关键词,不优化编译,
运算符:
算术操作运算符:+、-;*、/在大部分CPU是不支持的,%求模,利用求模可以得到,一个范围的数,一个N进制的数和循环数据结构的下标
逻辑运算:结果非真既假,就是不是1就是0;&&、||逻辑与和逻辑或A&&B!=B&&A,A||B !=B||A;>、<、>=、<=;!对比位运算取反;
位运算:在嵌入式开发中最接近底层的运算,在嵌入式中运用比较多,<<、>>左移和右移,左移以为相当于乘2,右移以为相当于除以2;&、|、^,位操作;A&0=0置零,A|1=1置一,A|0=A保留,A=A | (0x1<<5)设置第五位为1,A=A &( ~(0x1<<5) )设置第五位为0;^异或,相同为假,不同为真,交换两个数的值;~取反操作(所有位都取反)

猜你喜欢

转载自blog.csdn.net/weixin_42994525/article/details/82934155