C生万物之操作符(2),static关键字,typedef关键字等

上次说了一些单目操作符,这次我们接着介绍逻辑操作符,条件操作符,逗号表达式。

先说逻辑操作符吧,有两个分别是&&和||。

&& 逻辑与,表示两边都为真则为真。注意的是有一个为假后面不在判断。

|| 逻辑或,表示有一个为真则为真。注意判断出一个为真后面不在判断。

条件操作符也是c语言中唯一的一个三目操作符   exp1? exp2:exp3  判断exp1是否成立,若成立则执行exp2且其为整个表达式的值,否则执行exp3,且其为整个表达式的值。

逗号表达式,这是一个我们常用且非常简单的概念,请大家看看下面这句代码

int a,b,c,d;

这便是一个逗号表达式,其结果为最后一个的返回值。

我们知道c语言中有32个关键字,我在这里先不全部介绍,后面我们一一道来。

typedef 关键字

这是一个类型重命名的关键字。无代码,不编程。我们依旧用一段代码给大家分享一下。

typedef  long long ll
int main()
{
ll a;
return 0;
} 
//
//
typedef struct stu{
char name[20];
int age;
chae sex[10];
}stu;

第一个例子是将已有的更长的整形进行了重命名为ll,后面我们定义变量便可以直接使用ll进行命名。第二个是结构体的重命名将struct stu 重命名为stu。

static关键字

首先最重要的是,这个关键字修饰局部变量,全局变量,函数都有不同含义。

我们知道变量储存可以简单的分为静态区,堆区,栈区。

全局变量和静态变量储存在静态区,malloc函数calloc函数等在堆区动态分配储存,局部变量则在栈区储存作为临时变量。

修饰局部变量-静态局部变量

将在栈区的局部变量放在静态区。改变其生存周期,但不改变作用域。

修饰全局变量-静态全局变量  注意:正常调用可用exturn声明。

使其只能在自己的源文件内使用,而项目内其他文件不能使用。

修饰函数-静态函数

和全局变量相似,使其只能在自己的源文件内使用,而项目内其他文件不能使用。

register关键字

C生万物之操作符(2),static关键字,typedef关键字等_第1张图片

 这是一张存储结构,register就是建议编译器将变量存储到寄存器中,加快调用。而这里我们注意是建议而真正是否放入取决于编译器。

#define定义常量和宏

#define MAX 100
#define ADD(x,y) ((x)+(y))
s=ADD(2,3);
//s=(2)+(3);

第一个就是定义常量,第二个是宏定义在编译生成可执行程序前会进行代换,将MAX替换为100,ADD替换为下面注释行。

给大家补充一个知识,一个汉字站两个字符。

你可能感兴趣的:(c语言,开发语言)