외부 변수 및 범위

 

#INCLUDE <STDIO.H>
#DEFINE 맥스 1,000
INT 최대;
숯 라인 [맥스];
숯 긴 [맥스];
INT의 getline (공극);
무효 카피 (보이드);
/ * 특히 * 버전 * / 긴 라인 인쇄
의 main ()
{
 ; INT LEN
 통근 INT의 최대,
 통근 CHAR 긴 []
 
 최대 = 0;
 그동안 ((LEN =의 getline ())> 0)
  IF (LEN> 최대)
  {
   최대 = 렌,
   복사 ();
  }
  IF (최대> 0) / * 행 * /있다
   의 printf ( "% S의"긴)
  복귀 0; 
}
/ *의 getline函数:特别版本* /
INT의 getline (공극)
{
 INT의 C, I;
 통근 숯 라인 [];
 위한 (! I <맥스 1 && C = '\ n'; I 0 = I ++)
  라인 [I] = C;
 경우 (c == '\ n')
 {
  라인 [I] = C;
  난을 ++;
 }
 라인 [I] = '\ 0';
 난을 반환;
}
/ * 복사 기능 : 특별 버전 * /
무효 복사 (무효)
{
 INT I;
 통근 문자 라인 [], [] 긴,
 I = 0;
 그동안 ((긴 [I] = 라인 [I]) = '\ 0! ')
  ++ 나는;
}
在该例子中,前几行定义了main、getline与copy函数使用的几个外部变量,声明了各外部变量的类型,这样编译程序将为他们分配存储单元。从语法角度上来看,外部变量的定义与局部变量的定义是相同的,但由于他们各位于各函数的外部,因此这些变量是外部变量。函数在使用外部变量之前,必须知道外部变量的名字。要达到该目的,一种方式是在函数中使用extern类型的声明。这种类型的声明除了在前面加一个关键字extern外,其他方面与普通变量的声明相同。
如果程序包含在多个源文件中,而某个变量在file1文件中定义、在file2和file3中使用,那么在文件file2和文件file3中就需要使用extern声明来建立该变量与其定义之间的联系。人们通常把变量和函数的extern声明放在一个单独的文件中(习惯上称之为头文件),并在每个源文件的开头使用#include语句把所有要用的头文件包含进来。后缀名.h约定为头文件名的扩展名。
 
 
 
 
 
 
 
 
 
 
 
 
 
 

추천

출처www.cnblogs.com/TheFly/p/11838755.html