C C 結構體語法總結

2021-08-19 22:13:13 字數 1291 閱讀 2434

結構體屬於聚合資料型別的一類,它將不同的資料型別整合在一起構成乙個新的型別,相當於資料庫中一條記錄,比如學生結構體,整合了學號,姓名等等資訊。結構體的好處就是可以對這些資訊進行整體管理操作,類似物件導向中類的屬性,有了結構體,我就可以更好抽象描述乙個類別,個人感覺類就是由結構體發展而來的。在c/c++中,結構體宣告的關鍵字為struct。

struct 結構體名稱; 

這種方式在宣告結構體變數時為:struct 結構體名稱 結構體變數名 

example :

#include

struct student;

int main()

typedef struct 結構體名稱結構體名稱別名; 

這種方式在宣告結構體變數時有兩種方式。

第一種:struct 結構體名稱 構體變數名 

第二種:結構體名稱別名 結構體變數名

原因:這裡使用了typedef關鍵字,此關鍵字的作用就是宣告資料型別的別名,方便使用者程式設計,所以這裡用了之後,結構體名稱別名就相當於struct 結構體名稱。在宣告結構體變數時,就無需寫struct了。 

example:

#include

typedef

struct studentstu;

int main()

struct 結構體名稱結構體變數名;

相當於:

struct 結構體名稱; 

struct 結構體名稱 結構體變數名;

這種方式既定義了結構體名稱,同時宣告了乙個結構體變數名。在其它地方也可以通過struct 結構體來再次宣告其它變數,而第四種方法則不可以。 

example:

#include

struct studentstu; //此處stu 是變數名

int main()

struct 結構體變數名;

此方式是匿名結構體,在定義時同時宣告2個結構體變數,但不能在其它地方宣告,因為我們無法得知該結構體的識別符號,所以就無法通過識別符號來宣告變數。 

example:

#include

struct stu,stu1; //匿名結構體,同時定義了2個結構體變數

int main()

c++語言結構體語法的c大同小異,宣告結構體變數時可以省略struct 其它無變化! 

具體參照c語言部分,在用到「struct 結構體名稱」時,可以簡寫為「結構體名稱」來宣告。

C C 語法 (四)類與結構體

演算法題中使用的類知識很少,所以沒啥好寫的.類與結構體的主要區別在於,如果不定義成員是公有或私有,類中預設設定為private,而結構體中預設設定為public.以下隨便寫點結構體語法,背過就完事了.struct person 無參建構函式 person int age,int height age...

c c結構體陣列 結構體指標

結構體中自己常常弄不清的。兩個常用的結構體陣列 結構體指標 將自定義的結構體放入到陣列中方便維護 語法 語法 struct 結構體名 陣列名 元素個數 舉例 struct student intmain for int i 0 i 3 i 2 結構體指標 顧名思義就是指向結構體的乙個指標 通過指標訪...

c c 結構體呼叫

1 最近做專案遇到,c 呼叫c dll裡的函式需要傳遞結構體引數,發現這個並不是簡單的在c 裡定義相應的結構體就可以的,下面以乙個例子來說明解決的辦法,c 中的函式和結構體如下 uint msec set igr gen cfg int port,igr gen t igr gen typedef ...