變數的宣告 定義 強符號 弱符號 語言問題

2021-09-07 17:13:55 字數 380 閱讀 6279

上述問題都可以歸結為語言、意識與存在、聯絡的問題。

宣告是對符號的說明;

定義是對符號的實現;

對符號的實現在計算機的世界裡就是有記憶體存在的意思。

宣告分為一下幾類:

變數,函式,

型別;型別的宣告和定義是乙個概念。

問題:實現的說明部分是否需要重複宣告的說明部分?

結論:需要;不重複的話會導致符號重定義。系統對符號型別的預設實現是int型別。

如果宣告和定義都是int型別,但是實現沒有重複int說明,會出現編譯器警告。

其它的型別不一致會直接導致出錯。

強符號與弱符號的關係;

存在與聯絡的關係。

它的定義通過鏈結器鏈結時,引用符號與本體符號的強制關係說明。

C語言中的強符號和弱符號

c語言中的強符號和弱符號 c語言真的很奇怪,各種你想不到的問題都會出現,但是仔細分析這個問題,無不很有道理,這些都不是c語言的漏洞,而是這門語言的強大之處。首先介紹一下強符號和弱符號。當多個c檔案需要一起編譯執行的時候,就會有強弱符號的問題。為什麼會有多個c檔案一起編譯呢?這就的說起鏈結linkin...

C語言中的強符號與弱符號

參考 程式設計師的自我修養 參考 c語言中的強符號與弱符號 main.c int a 100 int main other.c int a 10 編譯 gcc main.c other.c編譯結果 ld 1 duplicate symbol for architecture x86 64 clang...

關於C語言中的強符號 弱符號 強引用和弱引用

首先我表示很悲劇,在看 程式設計師的自我修養 鏈結 裝載與庫 之前我竟不知道c有強符號 弱符號 強引用和弱引用。在看到3.5.5節弱符號和強符號時,我感覺有些困惑,所以寫下此篇,希望能和同樣感覺的朋友交流也希望高人指點。首先我們看一下書中關於它們的定義。引入場景 1 檔案a中定義並初始化變數i in...