http://blog.csdn.net/pipisorry/article/details/30311253

C语言的存储类型可分为:extern、auto、static、register。
外部变量定义在函数之外,通过同一个名字对外部变量的所有引用(即使这种引用来自于单独编译的不同函数),实际上都是引用同一个对外部变量的所有引用(C标准中把这一性质称为外部链接)。因此外部变量可以在全局范围内访问。
getChar.c:
#include <stdio.h>
#include <stdlib.h>
extern char str[];//头文件中不用声明
int index_str = 0;
char getChar(){
return str[index_str++];
}

getStr.c:
#include <stdio.h>
#include <stdlib.h>
char str[255];
/*get the testfile string */
void getStr(char* filename){
int index = 0;
FILE* fp;
if( (fp = fopen(filename,"r") ) == NULL){
printf("open test_file fail !!!\n");
exit(1);
}
while((str[index++] = getc(fp))!=EOF);
str[index] = '\0';/*结尾标志*/
fclose(fp);
}

from: http://blog.csdn.net/pipisorry/article/details/30311253

ref:

C语言外部变量extern相关推荐

  1. extern变量c语言,C语言外部变量extern

    C语言的存储类型可分为:extern.auto.static.register. 外部变量定义在函数之外,通过同一个名字对外部变量的所有引用(即使这种引用来自于单独编译的不同函数),实际上都是引用同一 ...

  2. c语言中外部变量的使用方法,C语言外部变量的使用以及erxtern的用法

    网上有很多帖子问C语言中extern的用法,而且回答的详细程度各尽不同. 所以我就像写一篇博文来谈谈我对extern的看法,不一定十分恰当,只当大家共勉. 变量定义性声明和引用性声明 变量的声明有两种 ...

  3. C语言-外部关键字extern

    extern 关键字  extern 用在全局变量或函数的声明前,用来说明"此变量/函数是在别处定义的,要在此处引用.  什么是定义,什么是声明?       什么是定义:所谓的定义就是为这 ...

  4. 【C语言】C语言外部变量和内部变量

    目录: [外部变量] · 定义 · 用extern修饰变量 [内部变量] · 定义 · 用static修饰变量 1.外部变量 · 定义 定义的变量能被本文件和其它文件访问的变量,称为外部变量. 注: ...

  5. C语言——外部变量和全局变量

    #include<stdio.h> int a =10; int b=20;                     //全局变量,写在所有函数之前的外部变量.程序员编程便捷,但有隐藏风  ...

  6. 变量(自动变量、静态变量、寄存器变量、外部变量)与C的内存分配malloc/free、calloc/recalloc

    C语言中的4种存储类别:自动变量(auto).静态变量(static).寄存器(register).外部变量(extern). 自动变量 通常定义在自定义函数内或代码段(用{}括起来的)定义的变量,都 ...

  7. C语言中变量和函数的声明与定义

    一.变量 在将变量前,先解释一下声明和定义这两个概念.声明一个变量意味着向编译器描述变量的类型,但并不为变量分配存储空间.定义一个变量意味着在声明变量的同时还要为变量分配存储空间.在定义一个变量的同时 ...

  8. linux声明语言变量,C语言中用extern声明外部变量

    2. 在多文件的程序中声明外部变量 如果一个程序包含两个文件,在两个文件中都要用到同一个外部变量num,不能分别在两个文件中各自定义一个外部变量num.正确的做法是:在任一个文件中定义外部变量num, ...

  9. C语言中将外部变量的作用域扩展到其他文件

    C语言中将外部变量的作用域扩展到其他文件 1.外部变量的定义 外部变量是在函数的外部定义的全局变量.全局变量都是存放在静态存储区中,因而它的生存期是固定的,存在于程序的整个运行过程. 2.外部变量的作 ...

  10. C语言中变量存储类别——自动变量,寄存器变量,静态外部链接;

    c提供了多种不同模型或存储类别在内存中存储数据. 作用域: 作用域描述程序中可访问标识符的区域. 作用域描述了程序中可以访问一个标识符的一个或多个区域.即变量的可见性. 一个变量的作用域可以是代码块作 ...

最新文章

  1. 如何在Mac OS X上启动PostgreSQL服务器?
  2. Vue PDF文件预览vue-pdf
  3. azure mysql 只读节点_Azure MySQL PaaS 创建MySQL异地只读数据库 (Master-Slave)
  4. gettext()方法输出空白_如何将文档内容输出为无水印图片?超简单的操作方法看这里...
  5. 面试题总结15 自己构建一个哈希表
  6. 如何修改微软powerpoint模板文字
  7. oracle 移动日志文件,Oracle数据库移动数据文件、日志文件和控制文件
  8. redis 参数配置总结
  9. squid 的配置详解 (转)--SeriesIII
  10. 多媒体方面的应用程序java_Java编程之多媒体基础
  11. TimeQuest就一定要搞定——时序分析基本公式
  12. [原创].触摸屏滤波的一点心得
  13. spring基础知识总结
  14. 2017年网易校招Java面试题
  15. NIOS II使用经验
  16. webpack 打包时,代码压缩,删除console与注释
  17. sqlserver位数不够左边补0
  18. MySQL系列3—标准SQL语言
  19. SEO外链-自动批量SEO外链发布软件
  20. 局域网 二维码fe分享图片 (带密码验证)

热门文章

  1. 【CSS3】 线性渐变
  2. WinForm中的一种死锁场景
  3. 做好数据分析的关键是打好组合拳
  4. android uses-permission 配置详解
  5. Basic INFO: InstallShield 2012安装过程
  6. Silverlight开源项目与第三方控件收集
  7. MapReduce入门(二)合并小文件
  8. [数据结构] 图 ,邻接矩阵法,邻接表法
  9. 博客园博客转至个人网站博客声明
  10. Inside the Linux Operating System[1]