C語言外部變數extern

-柚子皮-發表於2014-06-12

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: 

相關文章