結構體學習筆記

2022-09-13 22:09:18 字數 1964 閱讀 3955

以下記載了在初學結構體時犯下的一些錯誤。

先來一些雜識

structf;

struct

students

;void

main()

basic knowledge

錯誤一:結構體內用本身定義實體

1

struct

student

2;

因為在結構體執行完之前,是沒有記憶體位址空間的。而第五行中定義了乙個實體,顯然是錯的,應該用指標的形式

1

struct

students

2;

錯誤二:結構體宣告中的錯誤

//

正確的表示,結構體在用之前定義

struct

student

;int

main()

//

錯誤struct

student;

intmain()

struct

student

;

錯誤在於,還沒執行結構體生成實體,就定義實體,沒有空間(表達的不好。。。請大大們指正),要在第5行中定義成指標的形式就對了。與函式不同,函式只是呼叫,沒有「額外的」位址空間產生。

//

正確的struct

student;

intmain()

struct

student

;

鍊錶學習鍊錶的基本操作主要就是建立鍊錶、插入節點、刪除節點和訪問節點等。其形態為下:

struct

linkrec

;

頭結點:鍊錶中的特殊節點,不存放資料,只是為保證每個元素都有乙個前驅。多用於單鏈表中,特別是單鏈表在第乙個節點前插入節點時。

鍊錶的節點插入:

鍊錶的節點刪除與插入相反 p->next = p->next->next 即可,但要注意**空間,防止記憶體洩露

//

單鏈表的建立與訪問

struct

linkrec

;int

main()

rear->next =null;

cout

<

connects of the linkrec is : \n";

p = head->next;

while (p !=null)

return0;

}

//

約瑟夫環問題

struct

node

;int

main()

p->next =head;

q =head;

while (q->next !=q)

cout

return0;

}

struct

studant1

;struct

studant

;int

main()

基礎

struct

pointt

;pointt setpoint(

double x,double

y);pointt getpoint(

double

);int

main()

pointt setpoint(

double x,double

y)

結構體作為函式的引數

各種表達錯誤,大大們指正啊

結構體學習筆記

什麼是結構體 1 不同型別的變數集合 2 結構體的目的是為了描述乙個物件,為了把乙個物件描述清楚,必須要說出這個物件的很多屬性,為了表示這些屬性,就要用到不同的變數,且變數不止乙個。工人 工號 姓名 性別 年齡 基本工資 如何來定義結構體 struct 結構體名 struct worker 定義乙個...

結構體和共用體學習筆記

為什麼需要結構體 傳統解決辦法 陣列是相同型別資料的集合。結構體可以存放不同型別的資料。結構體和結構體變數的區別和聯絡 1 結構體是自定義的資料型別,表示的是一種資料型別,2 結構體變數是乙個具體變數 int num1l int為資料型別,而num1是具體的int變數3 結構體變數在同一記憶體區域 ...

C學習筆記 結構體

結構體是簡單資料型別的綜合 struct man struct man m struct man m 要訪問結構體成員,要使用.操作符。m.age 結構在記憶體的大小是和結構成員最長的那個元素相關的 編譯器在編譯乙個結構的時候採用記憶體對齊模式 struct man sizeof struct ma...