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