C-详解关键字static、extern

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/z_x_m_m_q/article/details/81836205

static关键字:

在不同的上下文环境,static 关键字具有不同的作用效果,具体如下:

  1. 当它作⽤用于函数定义或者⽤用于代码块之外的变量量声明时,static 关键字⽤用于修改标示符的链接属性。外部链接属性变为内部链接属性,标识符的存储类型和作⽤用域不受影响。也就是说变量或者函数只能在当前源⽂文件中访问,不能在其他源⽂文件中访问。
  2.  当它⽤用于代码块内部的变量量声明时,static关键字⽤用于修改变量的存储类型。从自动变量量变为静态变量量。变量的链接属性和作⽤用域不受影响。

extern关键字:

关键字 extern 可以置于具有外部链接属性的变量和函数前,以标识变量和函数在其它文件中被定义,提示编译器在本文件中遇到被 extern 修饰的变量和函数时在其他文件中寻找。简单的使用如下 

//Add.c

int val = 100;
int Add(int x,int y)
{
	return x + y;
}

//main.c

#include<stdio.h>
extern int val;
extern Add(int,int);
int main()
{
	printf("%d\n", val);
	printf("%d\n",Add(1,2));
	return 0;
}

猜你喜欢

转载自blog.csdn.net/z_x_m_m_q/article/details/81836205