c语言位操作和变量存储类型

c语言位操作

c语言位操作和变量存储类型_第1张图片

c语言变量存储类型

c语言位操作和变量存储类型_第2张图片

格式[存储类型说明符] 数据类型说明符 变量名,例如,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使用外部变量实例

c语言位操作和变量存储类型_第3张图片

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;
}

c语言位操作和变量存储类型_第4张图片
从结果可分析,第一次变量赋值后,再次遇到变量赋值的时候并未重新对变量定义赋值

你可能感兴趣的:(笔记,c语言,c++,算法)