結構體的學習
一、結構體。
(1)定義結構體和變數:struct studentstu1;
struct stu2,stu3[2] = ;
(2)給結構體中字元陣列賦值:strcpy(stu1.name,」zhangsan」);
(3)結構體成員的三種表示方法:struct student stu1, * ptr;
stu1.num = 1001;
ptr->num = 1002;
(* ptr).num = 1003;
(4)記憶體的計算:(結構體內存以四個位元組對齊)
例一:(1)中的結構體所佔空間36個位元組。
例二:#include
typedef struct
testlength1;
int length1 = sizeof(testlength1); //4個位元組對齊,占用位元組11111011 1000,length = 12
例三:#include
typedef struct
testlength1;
int length1 = sizeof(testlength1); //4個位元組對齊,占用位元組11111011 1000,length = 12
二、聯合的使用:(共用同一記憶體,所佔記憶體以最大位元組算)
union data
union data s1;
len = sizeof(s1);---------len = 8;
從第乙個位址開始,以最大位元組為算。
#pragma pack(n)-----
以n位元組對齊
三、typedef的用法:typedef
原有型別名 新型別名
(1)typedefintnum[100];(
二維陣列同理)
numa---------inta[100]
(2)typedefchar* string;
stringstr------char* str
(3)typedefint(* point) (int);
pointf---------int(* f) (int)
(4)typedefunsignedcharuchar;
uchara---------unsigned char a
(5)typedefint*num[3];
numa---------int*a[3]
(6)tyrpdefstructnodepnode;
pnoden1;
----structnode ;
四、volatile:它所修飾的變數會改變,提醒編譯器每次都到記憶體中取值。
五、大端模式和小端模式
大端模式:高位資料放在低位址;低位資料放在高位址。
小端模式:低位資料放在低位址;高位資料放在高位址。
例題:#include
union data;
int main()
結果:s1 = 12345678
高位址-------------低位址。
s1.a[0]
是低位址,輸出結果78也放在低位址位置,所以為小端模式。
結構體的學習
結構體即結構變數。使用乙個結構體,應先宣告該結構的布局。類似於宣告變數 struct game以上 就宣告了乙個名為game的結構型別。於是我就可以在下面宣告乙個game型別的結構變數 struct game the witcher 3 在c 中struct可省略這時系統就會開闢一塊空間儲存該結構變...
結構體學習
不知道為什麼這個部落格不能貼上來自codeblocks的 假如存在物件 id,name,phone 可以分開來表達 int bx int id,char name,char phone 但是這樣表達存在缺點。所以我們用結構體 struct connect 注意的是結尾要加上 且struct不在主函式...
結構體學習(1) 結構體基礎
在陣列 指標 引用介紹完畢後,今天開始乙個新的模組的學習,結構體。不論是c還是c 都是有結構體的,在專案中結構體也是經常遇到的。我們看一些大神的程式,上來先給你列乙個結構體,哇,瞬間就被征服了,這個人好牛。其實結構體並沒有那麼複雜,作為人工設計的資料型別,結構體是會更加方便的人們對專案的開發和程式的...