如何最簡單 通俗地理解C 的結構體?

時間 2021-06-02 14:12:23

1樓:小王同學在積累

一、筆記

二、筆記目錄

① 結構體屬於使用者自定義的資料型別,允許使用者儲存不同的資料型別。

② 語法:struct 結構體名

③ 通過結構體建立變數的方式有三種:

1》struct 結構體名變數名

2》struct 結構體名變數名 =

3》定義結構體時順便建立變數

④ 結構體變數利用點.訪問成員

#include

using namespace std;

#include

//自定義資料型別,一些型別的集合組成乙個型別

//語法 struct 型別名稱

//結構體定義的時候,struct關鍵字不能省略

//1、建立學生資料型別:學生包括(姓名,年齡,分數)

struct Student

;int main()

; cout << "姓名:" << s2.name << "年齡:" << s2.age << "分數:" << s2.score << endl;

system("pause");

return 0;

}執行結果:

姓名:張三年齡:18分數:100

姓名:李四年齡:19分數:80

#include

using namespace std;

#include

//自定義資料型別,一些型別的集合組成乙個型別

struct Student

s3; //2.3 建立結構體的時候,順便建立個結構體變數

int main()

執行結果:

姓名:王五年齡:20分數:60

① 作用:將自定義的結構體放入到陣列中方便維護。

② 語法:struct 結構體名陣列名[元素個數

#include

using namespace std;

#include

//自定義資料型別,一些型別的集合組成乙個型別

struct Student

; int main()

, ,

system("pause");

return 0;

}執行結果:

姓名:張三年齡:18分數:100

姓名:李四年齡:28分數:99

姓名:趙六年齡:80分數:60

① 作用:通過指標訪問結構體中的成員。

② 利用操作符 · > 可以通過結構體指標訪問結構體屬性。

#include

using namespace std;

#include

//結構體指標

//定義學生結構體

struct Student

; int main()

; //2、通過指標指向結構體變數

struct Student * p = &s; //對s取位址, tudent * p 類似 int * p,這裡的 struct 可以省略

//3、通過指標訪問結構體變數中的資料

//通過結構體指標訪問結構體中的屬性,需要利用'->'

cout << "姓名:" << p->name << "年齡:" << p->age << "分數:" << p->score << endl;

system("pause");

return 0;

}執行結果:

姓名:張三年齡:18分數:100

① 結構體中的成員可以是另乙個結構體。

#include

using namespace std;

#include

//因為老師的結構體裡有學生的結構體,所以學生結構體要在老師結構體前面先定義

//定義學生結構體

struct student

; //定義老師結構體

struct teacher

;int main()

執行結果:

老師姓名:老王老師編號:10000老師年齡:50老師輔導的學生姓名:小王學生年齡:20學生考試分數:60

① 作用:將結構體作為引數向函式中傳遞,傳遞方式有兩種。

② 傳遞方式有兩種:

1》值傳遞

2》位址傳遞

#include

using namespace std;

#include

//定義學生結構體

struct student

;//定義老師結構體

struct teacher

;//列印學生資訊的函式

//1、值傳遞

void printStudent1(struct student s)

//2、位址傳遞

void printStudent2(struct student* p)

int main()

執行結果:

main函式傳遞前姓名:張三年齡:20分數:85

子函式值傳遞前姓名:張三年齡:20分數:85

子函式值傳遞後姓名:張三年齡:20分數:85

main函式傳遞後姓名:張三年齡:20分數:90

① 作用:const來防止誤操作。

#include

using namespace std;

#include

//const 的使用場景

struct student

;//將函式中形參設定為指標,用位址傳遞,而不是值傳遞,可以減少記憶體空間,而且不會複製新的副本

//值傳遞需要複製新的副本,如果有成千上萬個學生呼叫結構體,會複製成千上個副本

void printStudents(const student* s)

int main()

; //通過函式列印結構體變數資訊

printStudents(&s);

cout << "main中張三年齡為:" << s.age << endl;

system("pause");

return 0;

}01 筆記--Python [ 整理完 ]

02 筆記--機器視覺 [ 整理完 ]

03 筆記--C++ [整理完]

04 筆記--爬蟲 [整理ing]

01 如何最簡單、通俗地理解C++的注釋?

02 如何最簡單、通俗地理解C++的常量?

03 如何最簡單、通俗地理解C++的變數?

04 如何最簡單、通俗地理解C++的關鍵字?

05 如何最簡單、通俗地理解C++的識別符號?

06 如何最簡單、通俗地理解C++的資料型別?

07 如何最簡單、通俗地理解C++的轉義字元?

08 如何最簡單、通俗地理解C++的資料輸入?

09 如何最簡單、通俗地理解C++的運算子?

10 如何最簡單、通俗地理解C++的程式流程結構?

11 如何最簡單、通俗地理解C++的陣列?

12 如何最簡單、通俗地理解C++的函式?

13 如何最簡單、通俗地理解C++的指標?

14 如何最簡單、通俗地理解C++的結構體?

15 如何最簡單、通俗地理解C++的記憶體四區?

16 如何最簡單、通俗地理解C++的引用?

17 如何最簡單、通俗地理解C++的類和物件?

18 如何最簡單、通俗地理解C++的檔案互動?

19 如何最簡單、通俗地理解C++的模板?

20 如何最簡單、通俗地理解C++的STL?

21 如何最簡單、通俗地理解C++的string容器?

22 如何最簡單、通俗地理解C++的vector容器?

23 如何最簡單、通俗地理解C++的deque容器?

24 如何最簡單、通俗地理解C++的stack容器?

25 如何最簡單、通俗地理解C++的queue容器?

26 如何最簡單、通俗地理解C++的list容器?

27 如何最簡單、通俗地理解C++的set容器?

28 如何最簡單、通俗地理解C++的pair對組?

29 如何最簡單、通俗地理解C++的map容器?

30 如何最簡單、通俗地理解C++的函式物件?

31 如何最簡單、通俗地理解C++的謂詞?

32 如何最簡單、通俗地理解C++的內建函式物件?

33 C++的常用演算法有哪些?

34 C++的常用遍歷演算法有哪些?

35 C++的常用查詢演算法有哪些?

36 C++的常用排序演算法有哪些?

37 C++的常用拷貝和替換演算法有哪些?

38 C++的常用算術生成演算法有哪些?

39 C++的常用集合演算法有哪些?

[C++系列已完結]

( Python、機器視覺、爬蟲……系列筆記,見專欄 )

2樓:zbl龍

就比如你定義乙個「人」的結構體,那裡面的引數有手、腳、眼等。然後你用的時候呼叫了乙個結構體,然後就能夠獲取到「人」的各種屬性。

如何最簡單 通俗地理解C 的deque容器?

小王同學在積累 一 筆記 二 筆記目錄 deque與vector區別 deque內部工作原理 1.deque內部有個中控器,維護每段緩衝區中的內容,緩衝區中存放真實資料。2.中控器維護的是每個緩衝區的位址,使得使用deque時像一片連續的記憶體空間。deque容器的迭代器也是支援隨機訪問的。功能描述...

如何最簡單 通俗地理解Softmax演算法?

老杜 softmax就是soft版本的max,理解了soft的含義就理解softmax了。什麼叫soft版本?我們先看看普通的max,以及普通max hard在什麼地方。比如說三個數x 2,1,5 求max x 小學生都會,答案是5,很簡單.如果以向量的方式表達這個對映關係,也可以表示成max x ...

如何通俗簡單地理解 Inbound Marketing 和 Outbound Marketing

吳嘉陽 簡單一句話,以客戶需求的強烈程度分 主動營銷 inbound marketing 使用者需求相對較高,使用者主動索取產品相關資訊 和被動營銷 outbound marketing 使用者需求相對較低,被動被強推來索取產品資訊 劉延飛 Inbound marketing會慢慢成為marketi...