c语言位操作
c语言变量存储类型
格式[存储类型说明符] 数据类型说明符 变量名
,例如,auto int a;
但一般情况下auto是省略的
其他类型说明符还有:static 、extern、register
auto最普通动态存储,但所在范围的函数程序结束后,这个变量就会失去作用
static可以记录定义后的变量值,就算再次经过定义的语句,也不会再次重新赋值,也就成为了全局静态变量
extern使用实例
一个文件中函数可以使用后定义的全局变量
# include "stdio.h"
void func(void); //函数声明
int main(void){
func();
return 0;
}
void func(void){
extern int a; //在函数中使用了全局外部变量
printf("extern_a: %d\n",a);
}
int a=10; //必须是全局变量
extern使用外部变量实例
static静态变量
# include "stdio.h"
void func(){
static int i=0;
printf("i_value: %d\n",i);
i+=1;
}extern int a;
int main(void){
func();
func();
return 0;
}
从结果可分析,第一次变量赋值后,再次遇到变量赋值的时候并未重新对变量定义赋值;