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...