關於結構體的個人小結

2021-09-19 10:04:36 字數 1700 閱讀 7955

在自學結構體的時候總感覺學了就忘,看書的時候感覺很簡單,但用起來就忘,所以過來總結一下,接下來的總結會有紕漏,會有錯誤,希望看到的有緣老哥指出(不知道會不會有人看

tatps.markdown到底怎麼用啊我*,富文字雖然也好用就是了,但是預設是markdown啊.

1.什麼是結構體

結構體就是結構+體(廢話) 結構是什麼,結構是一些值的集合,資料結構就是一些資料的集合,結構裡的值稱為成員變數,可以是不同型別的變數. 對於之後定義和初始化,我覺得結構體就是自定義乙個型別,就好像int,char之類的,只不過裡面有很多不同型別的值.  下面就來是建立初始化什麼的

2.結構體的建立和定義

//結構體的建立

//接下來描述乙個學生

struct student s1;//定義結構體變數s1

//定義結構體變數s2

struct student s2;

3.結構體的初始化

初始化就是給定義的變數賦值(自己老是忘定義的定義,寫下來記一下)

//結構體的建立

//接下來描述乙個學生

struct student s1;//定義結構體變數s1

//定義結構體變數s2

struct student s2;

struct student s2 = ;//結構體的定義

用帶括號,直接這樣賦值就好,這裡有的老哥就會問了,博主博主,那如果我只想給name賦值怎麼辦,哈哈,好問題,我不知道(逃

靴微開個小玩笑,其實我都是在訪問的時候賦值的,等會下面寫

4.結構體的訪問

用 .也可以用結構體指標變數

//結構體的建立

//接下來描述乙個學生

struct student s1;//定義結構體變數s1

//定義結構體變數s2

struct student s2;

struct student s2 = ;//結構體的

int main ()

用指標的話

​struct student s1;//定義結構體變數s1

//定義結構體變數s2

struct student s2;

struct student s2 = ;//結構體的

struct student* p;

int main () ​

5.結構體內存對齊

原因總的來說吧,一些平台記憶體只能在某些位址初取某些特定型別的資料,否則硬體異常

用空間換時間的做法

1).結構體中第乙個元素位址在對於結構體偏移量為0的位址

2).其餘的元素要對其到對齊數的整數倍的位址處

對齊數:就是編譯器預設的乙個,如果比較的成員的大小比預設值小,就取小值

3).結構體的總大小為對齊數的整數倍

ps.結構體當函式引數穿的話要用位址

6.還有個知識點叫位段

struct test ;
這就是乙個段位型別,可以自定元素大小,有很多運用空間

7.列舉

其實列舉也算結構體(我這麼理解的

比如

enum *** ;
這個性別的列舉

8.聯合體

這種知識點很奇妙,因為看完就忘,甚至都不記得自己學過,有必要記錄一下;

明天寫8

個人小結 測試

結束了在測試的工作,一直想寫點東西 1.測試首先是為個讓使用者能用,不會報錯,然後才能談到其他比如易用性,解析度等不會常用的功能,所以測試就要有重點 2.自動化測試在版本測試中用處也不大,前期投入太大,收益太小,自動化一般用於回歸測試,執行一輪測試中錄製好的指令碼,檢查修改bug時是否導致其他功能點...

關於C new問題個人小結

最近剛剛接觸攝像頭影象捕獲的內容。用vc6.0在xp下弄。抓捕執行緒一開就發現記憶體狂漲,過幾分鐘就奔潰了。仔細檢查才發現在給char 物件分配記憶體後,釋放記憶體不對。分配使用的 const long c buffnum 640 480 8 lpbyte rgbbuff new byte c bu...

Vue 關於vue官方文件的個人小結

vue cli service暴露了inspect命令用於審查解析好的 webpack 配置。1.將其輸出重定向到乙個檔案以便進行查閱 vue inspect output.js 2.通過指定乙個路徑來審查配置的一小部分 vue inspect module.rules.0 只審查第一條規則 3.指...