搜尋此網誌

2019年6月3日 星期一

程設的最後一個題目(一)

結構基礎:


    C語言提供我們一個方便的東西,叫"struct",它能讓我們建立一種自定的資料型態。


基本款



    像下面這個,我們有一個資料型態叫作My_Struct,它裡面有一個整數n,一個浮點數f,還能有陣列s。




結構宣告:


    我們弄好了上面的東西後,不能直接把My_Struct拿來當變數用,因為它只是個模板,就像你不會直接拿 int 來當變數,而是要先宣告一個變數,它的型態是 int。

這樣就能把那個 test 拿來用了

    如果你覺得每次要宣告一個變數都要打那麼長,很麻煩的話,C有提供一個叫 "typedef" 的東西,能把一種資料型態的名字改成我們指定的樣子。

typedef 很方便

結構的存取:


    我們有了變數 test,能拿它來做事了,如果我們要指派值給裡面的某個變數,可以這樣

就是 "變數名稱" 點 "結構裡的變數名稱"

    結構也可以宣告成陣列

裡面的成員也要用"點"來存取

結構的指標:

    跟所有其他的資料型態一樣,我們也能宣告結構的指標。

結構名稱 * 指標名字

    如果我們想用結構的指標來存取"指標所指向位置的值"的話,我們需要用到 -> (一個減號再加大於符號吧?)

範例

範例輸出

用圖片來說明整個流程,如下:


1、第16、17行

設變數


2、第19、20行

給值

3、第22、23行

把指標指向A的記憶體位置,之後就可以用 ptr->n 來取得變數A裡的n值,用 ptr->f 來取得變數A裡的f值

4、第25、26行

同上,不過這次指標指向變數B

比較:

一般資料型態的指標使用


結構指標的使用

結語:


    我只有講到會用在解題的方法(語法),結構還有很多東西可以講~~如果有錯請指正。



沒有留言:

張貼留言