C語言之結構體中「 」和「 」的區別

2021-10-02 01:43:59 字數 495 閱讀 1070

相同點:兩個操作符都是二元操作符,且其有操作符是結構體成員的名稱。

不同點:「 . 」操作符左邊的運算元是乙個「結構體」的表示式,而「 -> 」操作符左邊的運算元是乙個指向結構體的指標。

例:

typedef struct 

student;

student temp;

student *p = &temp;

在這裡temp.score代表的是結構體temp裡的成員score。

p->score代表指向temp結構體成員score的指標。

為了使用方便和直觀,c語言允許把(*temp).score用p->score來替換。也就是p->score等價與(*temp).score。

所以在結構體中「 . 」和「 -> 」的用法相似,但是並不等價。

倉促成文,不當之處,尚祈方家和讀者批評指正。聯絡郵箱[email protected]

C語言之結構體

一 什麼是結構體 結構體是不同型別的資料組合成乙個有機整體。例如 學生的學號 姓名 性別 成績 位址 這些都是乙個學生的屬性,把這些屬性組織成乙個組合,組合中包含不同的資料型別,c和c 允許指定這樣的資料型別,稱為結構體。struct student 申明乙個結構體型別 struct是結構體申明的關...

C語言之結構體

在c語言中,可以使用結構體 struct 來存放一組不同型別的資料。結構體的定義形式為 struct 結構體名 結構體是一種集合,它裡面包含了多個變數或陣列,它們的型別可以相同,也可以不同,每個這樣的變數或陣列都稱為結構體的成員 member 請看下面的乙個例子 struct stu stu 為結構...

C語言之結構體

在c語言中,有一種型別聽著很任性,叫做自定義型別。顧名思義,這種型別是程式設計師自己定義的一種型別,它和陣列很相似,但也有一些區別。自定義型別包含以下幾種 結構體 列舉 聯合 結構體就是將具有不同或相同的型別放在一起的聚合型別。可能聽著有些像順口溜,上一段 捋一捋。struct peo a 在 中我...