C/C++的extern關鍵字
比如這是我的myExtern.cpp檔案,只有一行程式碼:
int ex = 3;
然後這是我的main.cpp:
#include <iostream>
using namespace std;
int main()
{
cout << ex << endl; //顯然這裡會報錯:ex沒定義
}
如果我在main中加extern關鍵字:
#include <iostream>
using namespace std;
int main()
{
extern int ex;
cout << ex << endl; //輸出3
}
也就是說在沒有用#include方法的情況下,extern關鍵字表明:這個變數是在其它檔案裡被定義了的。
變數可以用extern,函式也是一樣的。
那麼extern是不是可以替代#include呢?事實上,對大型程式來說,使用extern比起使用#include會加速編譯過程。
相關推薦
C/C++中extern關鍵字詳解
編譯器 fin 生成 接口 bcd 只需要 c++環境 結束 編程 轉自:http://www.cnblogs.com/yc_sunniwell/archive/2010/07/14/1777431.html 1 基本解釋:extern可以置於變量或者函數前,以標示變量或者
C++: extern關鍵字功能和用法研究
今天遇到在aaa.cpp檔案中定義如下函式: &nbs
c++中extern關鍵字和static的作用域的學習
之前對static修飾變數後作用域的問題一直是大體瞭解,感覺和普通變數的作用域並沒有什麼區別。聚個栗子 在A.h中: #pragma once static int a=365; class A { public: A(); ~A(); }; 在main.c中: #include
【C/C++】extern 關鍵字與 C/C++ 混合程式設計
extern 是一個名字修飾約定。 所謂名字修飾約定,就是指變數名、函式名等經過編譯後重新輸出名稱的規則。 C++支援函式過載,而C不支援,兩者的編譯規則也不一樣。函式被C++編譯後在符號庫中的名字與C語言的不 同。例如,假設某個函式的原型為:void fo
C語言學習及應用筆記之六:C語言extern關鍵字及其使用
在C語言中,修飾符extern用在變數或者函式的宣告前,用來以標識變數或者函式的定義在別的檔案中,提示編譯器遇到此變數或者函式時,在其它檔案中尋找其定義。extern關鍵字的用法有幾種,我們下面對其進行說明。 (1)extern修飾變數的宣告 extern關鍵字可以用來修飾變數,表示該變數在別的檔
C/C++的extern關鍵字
比如這是我的myExtern.cpp檔案,只有一行程式碼: int ex = 3; 然後這是我的main.cpp: #include <iostream> using namespace std; int main() { cout << e
c語言extern關鍵字詳解
在c語言中程式碼的執行順序是從上往下執行的,如果定義的函式或者變數在呼叫之後,那麼呼叫的時候編譯就會找不到需要使用的變數。這樣就會出現錯誤,如下程式碼: #include<stdio.h> int main(){ printf("%d",num); function();
C++中extern關鍵字用法小結
總結C++中關於extern關鍵字的用法。 1.變數的生明和定義中 C++語言支援分離式編譯機制,該機制允許將程式分割為若干個檔案,每個檔案可被獨立編譯。為了將程式分為許多檔案,則需要在檔案中共享程式碼,例如一個檔案的程式碼可能需要另一個檔案中中定義的變數。 為了支援分離式編譯,C++允許將宣告和定義分離開來
C++中extern關鍵字使用
chapter 1 . extern關鍵字的作用 extern是一個關鍵字,它告訴編譯器存在著一個變數或者一個函式,如果在當前編譯語句的前面中沒有找到相應的變數或者函式,也會在當前檔案的後面或者其它檔案中定義,來看下面的例子。 // extern.cpp : De
C++中extern關鍵字的作用
1 基本解釋:extern可以置於變數或者函式前,以標示變數或者函式的定義在別的檔案中,提示編譯器遇到此變數和函式時在其他模組中尋找其定義。此外extern也可用來進行連結指定。 也就是說extern有兩個作用,第一個,當它與"C"一起連用時,如: exte
關於c語言中關鍵字extern用法。
com 分享 color ima pri int round mage printf 看c語言的ppt看到extern中的生命外部變量,懵逼了。然後在網上查了關於extern的用法。都不是我想要的。 找了半個小時,又寫寫程序,算是明白了。 extern聲明外部變量時候,也
與C/C++關鍵字extern有關的原理
為什麽 拒絕 方式 明顯 想要 概念 編譯 純c 嚴重 關鍵字有一定的語義,但是用法不唯一。 對於C/C++語言的預編譯、編譯、匯編、鏈接。我相信大家在接觸C++一年不到就背的滾瓜爛熟,但是其中的細節,是後來才慢慢想明白的。為什麽我不講extern關鍵字呢?extern關鍵
extern關鍵字 C++
默認 code pat 3.1 class extern c int 定義 關鍵字 extern關鍵字主要用來聲明變量 extern double pi; // ok: declaration not definition 即可使用extern也同時初始化
C語言入門(廿一)之static、extern關鍵字
區域性變數 概念: 區域性變數就是定義在函式, 程式碼塊和函式形參列表中的變數, 我們就稱之為區域性變數 作用範圍: 從定義的那一行開始一直直到遇到大括號結束或者遇到return為止 特點: 相同作用域範圍內不
【C++】從extern關鍵字開始談C語言多檔案程式設計
extern 關鍵字 我們知道,C語言程式碼是由上到下依次執行的,不管是變數還是函式,原則上都要先定義再使用,否則就會報錯。但在實際開發中,經常會在函式或變數定義之前就使用它們,這個時候就需要提前宣告。 所謂宣告(Declaration),就是告訴編譯器我要使用這個變數或函
C語言__static和extern關鍵字
C語言__static和extern關鍵字 static和extern不僅可以用在變數上,還可以用在函式上。這講先介紹它們對函式的作用。 extern與函式 如果一個程式中有多個原始檔(.c),編譯成功會生成對應的多個目標檔案(.obj),這些目
c++ extern 關鍵字
參考來源:http://www.cnblogs.com/broglie/p/5524932.html 可以在標頭檔案中做宣告: extern int i; 宣告並不申請記憶體空間。 而在定義它的檔案裡,寫 int i; 即可,在這裡才真的申請記憶體空間。 這樣可以在多個原始檔中用同一些全域性變數
C/C++中auto、static、register、extern關鍵字區別小結
1. 說明 以上四種都是變數儲存說明符,因為C/C++語言在變數定義時候的完整語法是: [儲存說明符] [資料型別] [變數名稱] [=初始化]; 因為大多我們宣告的變數都
C++學習筆記(初級篇)——作用域與“extern”關鍵字
作用域,顧名思義,就是指某個識別符號在程式中的有效區域。 在C++中,按作用域的大小,一般可分為區域性作用域和全域性作用域。 1.區域性作用域 區域性作用域用大括號,即{},來定義,大括號括起來的範圍就是一個區域性作用域。區域性作用域內,一個變數或者函式的有效位置是從其宣告
C語言中關鍵字auto、static、register、extern、volatile、restrict的作用
(1):auto關鍵字在C語言中只有一個作用,那就是修飾區域性變數。 (2):auto修飾區域性變數,表示這個區域性變數時自動區域性變數,自動區域性變數分配在棧上。(既然是分配在棧上,說明他如果不初始化的話那麼值就是隨機的....) (3):平時定義區域性變數時就是定義的auto的,只是省略了auto關鍵字