C語言中結構體的訪問方法解讀
阿新 • • 發佈:2018-12-14
在C語言中,對結構體的訪問一般有兩種常規方式:"."訪問和"->"訪問。那麼兩者有什麼區別呢?對C語言有一定了解的同學應該知道,我們新建一個結構體的時候,實際上就是新建了一種資料型別(比如int,char,double都是一種資料型別,只不過這些是C語言自帶的資料型別),這是一種什麼型別呢?其實,這種結構體的型別就是你命名的型別,譬如下面程式中,我定義的一種結構體:
在這個結構體中,我們定義的就是一種名字為xing的新資料型別。首先讓我們利用這個新定義出來的資料型別去定義一些變數(包括普通變數和指標變數)
是不是覺得這樣定義怪怪的,其實你覺得怪只是因為你習慣了看int或者double這種常規的資料型別而已,你可以想象一下,如何把上圖中的"xing"型結構體型別換成"int chen;int * ting;"就好看多了?習慣而已,的學會適應。
好了,那我們接下來應該去討論怎麼去訪問這個資料型別了又或者說是怎麼訪問這個結構體。
方法一:採用"."去訪問結構體裡面的資料。如果我們在使用這個新的資料型別去定義普通變數時,那麼我們去初始化這個結構體的元素和讀取這個結構體的元素時就應該使用"."去訪問。具體的形式如下:
方法二:採用"->"去訪問結構體裡面的資料。我們目前知道,除了普通變數,我們還有指標變數。如果說我們使用這個新的資料型別去定義的是指標變數的話,那麼我們去訪問(初始化和讀取資料)這個結構體的時候就應該採用"->"去訪問。具體的形式如下:
常規的訪問結構體的方法就是這兩種了。還有其他方法,我們後續再討論,下面是我的完整測試程式:
執行的結果: