欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

常见关键字

时间:2023-05-31
autobreakcasecharconstcontinuedefaultdodouble elseenumextern floatforgotoifintlongregisterreturnshortsignedsizeofstatic structswitchtypedef unionunsignedvoidvolatilewhile

修饰局部变量
//代码1
#include
void test()
{
int i = 0;
i++;
printf("%d ", i);
}饰全局变量

int main()
{
int i = 0;
for(i=0; i<10; i++)
{
test();
}
return 0;
}
//代码2
#include
void test()
{
//static修饰局部变量
static int i = 0;
i++;
printf("%d ", i);
}
int main()
{
int i = 0;
for(i=0; i<10; i++)
{
test();
}
return 0;
}
//代码1
//add.c
int g_val = 2018;
//test.c
int main()

对比代码1和代码2的效果理解static修饰局部变量的意义。
static修饰局部变量改变了变量的生命周期,让静态局部变量出了作用域依然存在,到程序结束,
生命周期才结束
 修饰全局变量

//代码1
//add.c
int g_val = 2018;
//test.c
int main()
 {
代码1正常,代码2在编译的时候会出现连接性错误。
结论:
一个全局变量被static修饰,使得这个全局变量只能在本源文件内使用,
不能在其他源文件内使用。
修饰函数
代码1正常,代码2在编译的时候会出现连接性错误.
结论:
一个函数被static修饰,使得这个函数只能在本源文件内使用,不能在其他源文件内使用。

#define 定义常量和宏
//define定义标识符常量
#define MAX 1000
//define定义宏
#define ADD(x, y) ((x)+(y))
#include
int main()
{
int sum = ADD(2, 3);
printf("sum = %dn", sum);
sum = 10*ADD(2, 3);
printf("sum = %dn", sum);
return 0;
}

常见关键字:
int                  声明整型变量
double               声明双精度变量
long                 声明长整型变量
char                 声明字符型变量
float               声明浮点型变量
short                声明短整型变量
signed               声明有符号类型变量
unsigned             声明无符号类型变量

struct              声明结构体变量
union                声明联合数据类型
enum                 声明枚举类型

switch               用于开关语句
case                 开关语句分支
default              开关语句中的“其他”分支
break               跳出当前循环
continue             结束当前循环,开始下一轮循环

do                  循环语句的循环体
while               循环语句的循环条件
if                   条件语句
else                条件语句否定分支(与if连用)
for                  一种循环语句(可意会不可言传)

return               子程序返回语句(可以带参数,也可不带参数)
void                 声明函数无返回值或无参数,声明空类型指针

重要关键字:
auto                 声明自动变量,缺省时编译器一般默认为auto  
register            声明寄存器变量,告诉编译器将变量尽可能存在寄存器上(但也不是绝对的,如果当寄存器已经存满了,则它不会起任何作用。
虽然寄存器的速度非常快,使用register 修饰符也有些限制的:register 变量必须是 能被CPU 寄存器所接受的类型。意味着register 变量必须是一个单个的值,并且其长度应小 于或等于整型的长度。而且register 变量可能不存放在内存中,所以不能用取址运算符“&” 来获取register 变量的地址 )

static               声明静态变量,(第一:限制函数的作用域,使得函数只作用于本文件。第二,修饰变量,使得变量存储在静态区,只有程序结束时,变量才被销毁)

const               声明只读变量(编译器认为被const修饰的变量是不能被修改的,所以是个常量,因此存在寄存器上,每次都从寄存器上读取)
volatile             说明变量在程序执行中可被隐含地改变(使编译器在内存中读取变量的值)

typedef             用以给数据类型取别名(当然还有其他作用)

extern               声明变量是在其他文件正声明(也可以看做是引用变量)

goto                无条件跳转语句

sizeof              计算对象所占内存空间大小
 

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。