C语言关键字

C语言的关键字一共有32个,其中数据类型相关的关键字有12个,和控制语句相关的关键字有12个,和变量存储类别相关的关键字有5个,其他功能关键字3个。
32个关键字罗列如下:

数据类型关键字(12个)

char, short, int, long, float, double,

unsigned, signed, struct, union, enum, void

控制语句关键字(12个)

if, else, switch, case, default, for, do, while, break, continue, goto, return,

存储类关键字(5个)

auto, extern, register, static,const

其他关键字(3个)

sizeof,typedef,volatile

每个关键字有什么样的作用?

数据类型关键字(12个)

在程序的世界中,承载一系列的信息的数字和字符都属于数据类型,但计算机需要一种方法来区别和使用这些不同的类型。具体的,C通过识别一些基本的数据类型做到这些。

char:字符型的关键字,用于修饰字符型的变量或数组,占1个字节,即8位。什么是字符型,a、b、c、d这样的就是字符,当然在C语言中要加单引号修饰。

short:短整型的关键字,用于修饰短整型的变量,如果定义这样的一个变量只能存整数。100,67,99,-43这样的整数。占2个字节的存储空间。

int:整型关键字,用于修饰整型变量,比short要空间大一倍,4个字节。

long:长整型关键字,用于修饰长整型变量,32平台上也是4个字节,64位机上占8个字节。 


double:双浮点型关键字,使用该关键字定义的变量用于存放带小数点的实数。占8个字节的内存空间。

unsigned:无符号型关键字,定义变量时,可以是带符号的,也可以是不带符号的。
在int前加unsigned说明该变量是无符号的,只能存储0和正整数。

signed:有符号型关键字,定义变量时,可以是带符号的,也可以是不带符号的。
如果在数据类型前不加符号修饰,默认为signed

struct:是与结构体类型相关的关键字,可以用它来定义结构体类型,是构造或者说自定义的数据类型所使用关键字
union:这个关键字是与共用体(联合体)相关的关键字,是构造或者说自定义的数据类型所使用关键字
enum:与枚举类型相关的关键字,是构造或者说自定义的数据类型所使用关键字

void:空类型,前面的关键字都可以用于定义变量,void关键字不可定义变量,常用于修饰函数的形参和返回值,意思是无参、无返回值,后面会有详细说明。

控制语句关键字(12个)

条件语句

(1)if: 条件语句
(2)else :条件语句否定分支(与 if 连用)
(3)goto:无条件跳转语句

循环语句

(1) for:一种循环语句(可意会不可言传)
(2) do :循环语句的循环体
(3) while :循环语句的循环条件
(4) break:跳出当前循环
(5) continue:跳出本次循环,继续执行下次循环

选择分支语句

(1)switch :用于选择语句
(2)case:选择语句分支
(3)default:选择语句中的“其他”分支

选择分支语句
(1)return :子程序返回语句

存储类关键字(5个)

auto:自动类型的,基本不使用,在定义局部变量时,默认就是自动类型的。

extern:外部声明时使用的,C语言的程序不是一个c文件就能搞定的,要分文件,分文件时就要用到extern关键字

register:寄存器变量,register int a,告知编译器在定义a时尽量放在寄存器中,是尽量并不是一定!
cpu如果能直接从寄存器中读取数据,速度会非常的快。( CPU计算时,先预先把要用的数据
从硬盘读到内存,然后再把即将要用的数据读到寄存器。最理想的情况就是CPU所有的数据都能从寄存器里读到,这样读写速度就快,如果寄存器里没有要用的数据,就要从内存甚至硬
盘里面读,那样读写数据占的时间就比CPU运算的时间还多的多。)

 static:静态修饰,能修饰静态变量也能修饰函数,具体有什么样的作用,我们后边的时候会给大家详细的讲解。
 
const:修饰只读变量的,定义const int a = 10; a=11;是不行的,因为加了const修饰。

其他关键字(3个)

sizeof:测一个变量或者数据类型的大小。

typedef:重命名,为一个复杂的声明重命名为简单的别名,如unsigned short int a=10;
再定义一个b,还要再写一遍,但是有了typedef可以这样,typedef unsigned short int  U16;

volatile:易变的变量,告知编译器这是一个易改变的变量,特别是后面在线程中多个线程访问易变的变量时,为了防止其他任务改变,一定要去内存中重新读取该数据,不允许使用寄存器中的缓存值。

来源:CSDN
原文:https://blog.csdn.net/jackw0302/article/details/68065055

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值