8.11 標頭檔案剖析:前向引用
8.11 標頭檔案剖析:前向引用
什麼是宣告
宣告:將一個識別符號與某個C語言物件相關聯(函式、變數等)
函式原型:提供給編譯器做函式引數格式檢查
變數宣告:告訴編譯器,這個變數在已經別處定義
可以宣告的識別符號
變數、函式
型別、型別標誌
結構體、聯合、列舉常量
語句標號
前處理器巨集
什麼是前向引用?
識符在宣告完成之前就開始使用
識別符號通常不能在完全宣告之前使用
int i = sizeof(i);
C++的類成員
C語言允許前向引用的三個特例
- 隱式宣告(C99/C++禁止)
- 語句標號(標號的作用域)
- 可以宣告一個不完全型別,在被定義完整之前用於某些特定用
途
C語言中的識別符號
Object type
Function type
Incomplete type
不完全型別
void
an array type of unknown size :int a[];
a structure or union type of unknown content
不完全型別的前向引用的侷限性
只能使用其中的一些特性:type
有些property不能使用:變數值、結構成員、大小
程式碼
typedef struct PERSON person;
struct person;
typedef struct PERSON{
int age;
struct PERSON *p1;
person *p2; //不會自動前向宣告
int num;
}person;
相關文章
- 8.13 標頭檔案剖析:標頭檔案路徑(下)
- 8.10 標頭檔案剖析:變數宣告變數
- 8.8 標頭檔案剖析:基本概念
- iOS標頭檔案中如何在巨集裡引用已有的巨集iOS
- CMake連結庫,會檢索庫引用標頭檔案路徑
- locate標頭檔案和庫檔案
- 標頭檔案講解
- 祖傳標頭檔案
- import、#include和@class有什麼區別 、相互引用標頭檔案問題Import
- 什麼是 標頭檔案
- 標頭檔案的作用分析
- 02@在類的標頭檔案中儘量少引入其他標頭檔案
- C/C++標頭檔案太難記?一個萬能標頭檔案全搞定!C++
- C語言 - 標頭檔案包含C語言
- c++筆記_標頭檔案C++筆記
- linux下使用windows標頭檔案LinuxWindows
- 獲取當前js檔案被引用的路徑JS
- 巨集_變數_函式_指標_標頭檔案變數函式指標
- pycharm設定python標頭檔案模版PyCharmPython
- 看標頭檔案猜演算法演算法
- 8.14 Linux核心中的標頭檔案Linux
- C/C++標頭檔案一覽C++
- 關於C++的標頭檔案C++
- C++標準庫名字和標頭檔案--表C++
- string.h標頭檔案(字串函式)字串函式
- C++ include標頭檔案引入規則C++
- macos新增c++萬能標頭檔案MacC++
- openGauss libpq使用依賴的標頭檔案
- algorithm標頭檔案下的常用函式Go函式
- 為什麼不在標頭檔案做定義
- C語言關於標頭檔案的使用C語言
- 雖然包含string標頭檔案但未用std::
- gcc 標頭檔案依賴關係 分析工具GC
- C++ 字串 cctype 標頭檔案標準庫處理函式C++字串函式
- golang寫入檔案時,覆蓋前檔案(將前檔案清空)Golang
- C 語言標頭檔案作用的簡單理解
- C++ 字元處理函式(cctype標頭檔案)C++字元函式
- mac CLion cmake 呼叫自己定義的標頭檔案Mac