常量的三种定义方式和static在c语言中的三种修饰

c语言的常量在执行期间为固定值,在定义后无法被修改
常量可以是任何的数据基本类型,可以为整形,浮点常量,字符和字符串常量
1,使用const关键字
2, 使用宏定义
3,使用枚举常量

枚举:

 #include<stdio.h>
int main(){
enum sex{
male,
female,
unknown,
};
printf("%d\n%d\n%d\n", male, female, unknown);
return ;
}

常量的三种定义方式和static在c语言中的三种修饰

宏定义:

 #define i 5

const关键字修饰的常量不可被再修改,例如:

 const int i=6;

在vs同一个工程下建立两个.c格式的文件:

在第一个.c文件下写:

 static int g_val = ;

在第二个.c文件下写上

 #include <stdio.h>
#include<stdlib.h>
extern int g_val; int main(){
/*int g_val = 30;*/ printf("%d\n", g_val);
system("pause");
return ;
}

运行结果如下:

常量的三种定义方式和static在c语言中的三种修饰

当去掉第一个程序的static时候:

 int g_val = ;

再次运行第二个程序显示编译成功。

常量的三种定义方式和static在c语言中的三种修饰

这是因为:

 static作用于同一个工程中2.c文件内的int g_val;使之从全局变量变为了局部变量,从而在1.c文件中编译器无法打印出g_val
另外在同一个工程中的不同的.c文件中如果需要引用另一个.c中的变量,需要使用extern在进入主要函数之前
c语言static的作用:
1,修饰局部变量,改变变量的生命周期,变成了整个程序;
2,修饰全局变量,改变变量的作用域,变成了当前文件;
3,修饰全局函数,改变函数的作用域,变成了当前文件
好处:
防止一个工程下成百上千个文件难免有对同一个变量的相同命名,只作用于当前文件,保证了程序的安全性。
上一篇:Java使用JDBC连接SQL Server数据库


下一篇:JAVA if条件语句,switch多分支结构,与逻辑运算符