C語言的大頭針

2021-06-16 23:12:52 字數 2072 閱讀 9228

c語言的標頭檔案是c語言中非常重要的一部分。而大家對

c語言的標頭檔案

也許了解並不深,甚至覺得不重要,我覺得跟現在的各種c語言入門書籍都是只對c語言的語法進行詳細的不能再詳細的說明,但對於整個程式的檔案組織構架卻隻字不提,找了好幾本比較著名的c語言著作,卻沒有乙個把.h檔案的用法寫的比較透徹的。下面我就斗膽提筆,來按照我對.h的認識思路,向大家介紹一下。

讓我們的思緒乘著時間機器回到大學一年級。原來老師正在講台上講著我們的第乙個c語言程式:

hello world!

檔名first.c

main()

第1

看看上面的程式,沒有.h檔案。是的,就是沒有,世界上的萬物都是經歷從沒有到有的過程的,我們對.h的認識,我想也需要從這個步驟開始。這時確實不需要.h檔案,因為這個程式太簡單了,根本就不需要。那麼如何才能需要呢?讓我們把這個程式變得稍微複雜些,請看下面這個,

檔名first.c

printstr()

main()

第2

還是沒有,那就讓我們把這個程式再稍微改動一下.

檔名

first.c

main()

printstr()

第3

等等,不就是改變了個順序嘛,但結果確是十分不同的.讓我們編譯一下下面的例題,你會發現3是編譯不過的.這時需要我們來認識一下另乙個

c語言中的概念:作用域.

我們在這裡只講述與.h檔案相關的頂層作用域,頂層作用域就是從宣告點延伸到源程式文字結束,就printstr()這個函式來說,他沒有單獨的宣告,只有定義,那麼就從他定義的行開始,到first.c檔案結束,也就是說,在在例二的main()函式的引用點上,已經是他的作用域.例三main()函式的引用點上,還不是他的作用域,所以會編譯出錯.這種情況怎麼辦呢?有兩種方法,乙個就是讓我們回到例二,順序對我們來說沒什麼,誰先誰後不一樣呢,只要能編譯通過,程式能執行,就讓main()檔案總是放到最後吧.那就讓我們來看另乙個例程,讓我們看看這個方法是不是在任何時候都會起作用.

檔名

first.c

play2()

play1()

main()

第4

也許大部分都會看出來了,這就是經常用到的一種演算法,函式巢狀,那麼讓我們看看, play1和play2這兩個函式哪個放到前面呢?

這時就需要我們來使用第二種方法,使用宣告.

檔名first.c

play1();

play2();

play2()

play1()

main()

自定義大頭針

import viewcontroller.h import import import myannotationview.h import myannotation.h inte ce viewcontroller end 1.使用地圖需要匯入mapkit框架,也需要使用者授權。2.coreloc...

自定義大頭針

import import 就是乙個資料模型,專門存放大頭針檢視的資料的 只要這個類遵循mkannotation協議,那麼地圖就可以把這個類的物件處理成大頭針 inte ce myannotation nsobject property nonatomic cllocationcoordinate2...

MKAnnotation大頭針學習一

系統預設的大頭針屬性 位置 property nonatomic,readonly cllocationcoordinate2d coordinate optional 主標題和子標題 property nonatomic,readonly,copy,nullable nsstring title ...