extern的使用

一、extern声明变量和函数说明这个变量和函数已经在其他文件中定义了;

二、在C++中,extern “C” 表示该函数以C语言的方式编译;

三、全局变量和局部变量同名时,局部变量加上extern则使用这个局部变量。

  问题1:C中全局变量局部变量能同名吗?怎么访问全局变量?

  可以同名。

  如何访问:1.通过指针

       2.通过函数

       3.用extern

int a;

//通过函数
int fun(){
  return a;
}

int main(){
  int *pa = &a;//通过指针
  int a;
  printf("%d\n",a);//局部变量
  printf("%d\n",fun());
  printf("%d\n",*pa);
  int b = *pa;
  //语句块 块变量
  {
    extern int a;//在当前语名块中的变量前加extern 相当于是全局的变量
    printf("%d\n",a);

  }

  return 0;
}

问题2:C++中怎么访问全局变量/函数?

    定义在全局的变量或函数相当于无名名字空间

      直接在前面加::

 

  问题3:一个文件访问另一个文件的变量:
      被访问的文件将该变量定义为全局变量 int a,在访问的文件中加extern访问 extern int a;

posted @ 2019-10-09 19:35  一场雨  阅读(401)  评论(0编辑  收藏  举报