freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

c語言:第11章__復(fù)雜數(shù)據(jù)類型-文庫吧資料

2024-08-14 16:00本頁面
  

【正文】 初始化的格式為 : struct 結(jié)構(gòu)體類型名 { … … } ; struct 結(jié)構(gòu)體類型名 結(jié)構(gòu)體數(shù)組 [size] = {{初值表 1}, … , {初值表 n}}; struct [結(jié)構(gòu)體類型名 ] { … … } 結(jié)構(gòu)體數(shù)組 [size] = {{初值表 1}, {初值表 2}, … , {初值表 n}}; 或 struct Student_Info stu[3] = {{20220306, ZhangMing, 39。 float grade。 unsigned int age。 char name[20]。 語言程序設(shè)計(jì)教程 第二版 第十一章 復(fù)雜數(shù)據(jù)類型 C ? 結(jié)構(gòu)體數(shù)組與二維表的對(duì)應(yīng)關(guān)系 結(jié)構(gòu)體數(shù)組就相當(dāng)于一張二維表,一個(gè)表的框架對(duì)應(yīng)的就是某種結(jié)構(gòu)體類型,表中的每一列對(duì)應(yīng)該結(jié)構(gòu)體的成員,表中每一行信息對(duì)應(yīng)該結(jié)構(gòu)體數(shù)組元素各成員的具體值,表中的行數(shù)對(duì)應(yīng)結(jié)構(gòu)體數(shù)組的大小。 float grade。 形式三: struct { char no[9], name[20], sex。 float grade。 形式二: struct Student_Info { char no[9], name[20], sex。 } 。 unsigned int age, classno。 語言程序設(shè)計(jì)教程 第二版 第十一章 復(fù)雜數(shù)據(jù)類型 C 結(jié)構(gòu)體數(shù)組 結(jié)構(gòu)體數(shù)組的每一個(gè)元素都是具有相同結(jié)構(gòu)體類型的下標(biāo)結(jié)構(gòu)變量。 //ARRAY是別名 ARRAY str。 //相當(dāng)于 struct teacher_info t。 //相當(dāng)于 char *str。 //相當(dāng)于 int a。 typedef struct teacher_info TEACHER。 float salary。 //INTEGER是別名 typedef char * STRING //STRING是別名 struct teacher_info { char name[20], char sex, unit[30]。 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 ( 8 byte) 自動(dòng)填充 ( 7 byte) ( 1 byte) ( 4 byte) 自動(dòng)填充 ( 4 byte) b( 24 byte) sizeof(char)=1的倍數(shù) sizeof(double)=8的倍數(shù) sizeof(int)=4的倍數(shù) 使總的字節(jié)數(shù)為sizeof(double)=8的倍數(shù) 簡化結(jié)構(gòu)體類型名 利用 typedef語句為結(jié)構(gòu)體類型起別名,這樣可使定義結(jié)構(gòu)體類型的變量顯得更為簡潔,同時(shí)也增加程序的易讀性。 int z。 變量 b所占內(nèi)存空間總的大小為: sizeof(b)= 1+7+8+4+4=24(字節(jié)) 語言程序設(shè)計(jì)教程 第二版 第十一章 復(fù)雜數(shù)據(jù)類型 C struct MyStruct { char y。 下一個(gè)可用的地址的偏移量為 16,是 sizeof(int)=4的倍數(shù),滿足 int的對(duì)齊方式,所以不需要 VC自動(dòng)填充,z存放在偏移量為 16的地址上,它占用 4個(gè)字節(jié) } b。 偏移量為 0,滿足對(duì)齊方式, y占用 1個(gè)字節(jié) ; double x。 整個(gè)結(jié)構(gòu)體變量占用內(nèi)存空間的大小為: sizeof(a)=8+1+3+4=16,其中有 3個(gè)字節(jié)是 VC自動(dòng)填充的,沒有放任何有意義的東西。 } a。 char y。 } a。 char y。 (2) 為了確保結(jié)構(gòu)體變量所占內(nèi)存空間的大小為結(jié)構(gòu)體的字節(jié)邊界數(shù)( 即該結(jié)構(gòu)體中占用最大空間的類型所占用的字節(jié)數(shù) )的倍數(shù),所以在為最后一個(gè)成員變量申請(qǐng)空間后,還會(huì)根據(jù)需要自動(dòng)填充空缺的字節(jié)。在默認(rèn)情況下, VC規(guī)定各成員變量存放的起始地址相對(duì)于結(jié)構(gòu)的起始地址的偏移量必須為該成員變量類型所占用的字節(jié)數(shù)的倍數(shù)。 問: sizeof(a) = ? 16 VC對(duì)變量存儲(chǔ)的一個(gè)特殊處理。 int z。 struct MyStruct { double x。 } a。 char y。 內(nèi)存分配方法: 在 TC或 BC編譯環(huán)境下,結(jié)構(gòu)體變量所占內(nèi)存空間的大小等于它所包含的每個(gè)成員所占內(nèi)存空間大小之和。 int z。 ? 基于 TC或 BC環(huán)境下的結(jié)構(gòu)體變量內(nèi)存分配 struct MyStruct { double x。[i] ① ② ③ 注: .和 [ ]同優(yōu)先級(jí),具有左結(jié)合性,高于 amp。 } 運(yùn)行結(jié)果 (設(shè) 5門課的成績?yōu)椋?75 80 86 90 68 ): avegrade = maxgrade = mingrade = amp。 } /= 5。 = ([i] ) ? [i] : 。 i 5。 = [0]。 = 0。 i++) //輸入 5門課的成績 scanf (%f, amp。 for (i = 0。 struct score m。 }。 include struct score { float grade[5]。stu, sizeof(struct Student_Info))。 結(jié)構(gòu)體變量的賦值 ? 結(jié)構(gòu)體變量在程序中賦值 如果在定義結(jié)構(gòu)體變量時(shí)并未對(duì)其賦初始值,那么在程序中要對(duì)它賦值的話,就只能一個(gè)一個(gè)地對(duì)其成員 逐一賦值 ,或者 用已賦值的同類型的結(jié)構(gòu)體變量對(duì)它賦值 逐一賦值 利用已賦值的結(jié)構(gòu)體變量賦值 memcpy (amp。 struct Student_Info stu1。 = 1。M39。 strcpy (, ZhangMing)。 struct Student_Info stu。 = 。 = 。 語言程序設(shè)計(jì)教程 第二版 第十一章 復(fù)雜數(shù)據(jù)類型 C strcpy (, )。M39。 //班級(jí) float grade。 //性別 unsigned int age。 //學(xué)號(hào) char name[20]。 } birthday = {1986, 12, 10}。 } birthday = {1986, 12, 10}。, {1986, 12, 10}, 1, 90}。 struct Stu_Info stu = {20220306, ZhangMing, 39。 //班級(jí) float grade。 //性別 struct Date birthday。 //學(xué)號(hào) char name[20]。 //日 }。 //年 int month。, 20220306, 1, 90}。 no name sex age classno grade √ struct Student_Info stu = {18, ZhangMing, 39。M39。 語言程序設(shè)計(jì)教程 第二版 第十一章 復(fù)雜數(shù)據(jù)類型 C 結(jié)構(gòu)體變量的賦值 ? 結(jié)構(gòu)體變量初始化賦值 ? 先定義結(jié)構(gòu)體類型,再定義結(jié)構(gòu)體變量時(shí)賦初值 struct 結(jié)構(gòu)體類型名 初值表 { … … } ; struct 結(jié)構(gòu)體類型名 變量名 = {成員 1的值, … , 成員 n的值 }; 注意: 賦初值時(shí), { }中間的數(shù)據(jù)順序必須與結(jié)構(gòu)體成員的定義順序一致,否則就會(huì)出現(xiàn)混亂。 pstu1 = 2022。stu1。 } birthday。 int day。 char name[20]。 Stu2 = stu1。 char addr[30]。 int age。 char name[20]。 (?) stu1={101,“Wan Lin”,?M?,19,“DaLian”}。 } stu1, stu2。 float score。 char sex。 例 struct student { int num。 += 。 = 10。 char addr[30]。 int age。 char name[20]。 printf (%s %f, , (*pstu).score)。 = 80。stu。 char addr[30]。 int age。 char name[20]。 } stu1, stu2。 float score。 char sex。 (4) 結(jié)構(gòu)體類型及變量的作用域和生存期與基本類型變量相同 語言程序設(shè)計(jì)教程 第二版 第十一章 復(fù)雜數(shù)據(jù)類型 C 例 struct student { int num。 (3) 結(jié)構(gòu)類型中的成員名,可以與程序中的變量同名,它們代表不同的對(duì)象,互不干擾 struct Student_Info student。 //正確,可以包含自身類型的指針 struct Img img。 struct Img { int tag。 num name birthday month day year struct Point { int x, y。 } birthday。 int day。 char name[20]。 } stu。 char name[20]。 }。 int day。 或 無名結(jié)構(gòu)體定義,變量只能一次 語言程序設(shè)計(jì)教程 第二版 第十一章 復(fù)雜數(shù)據(jù)類型 C 幾點(diǎn)說明: (1) 結(jié)構(gòu)體類型與結(jié)構(gòu)體變量概念不同 類型 : 不分配內(nèi)存; 變量 : 分配內(nèi)存 類型 : 不能賦值、存取、運(yùn)算 。 //班級(jí) float grade。 //性別 unsigned int age。 //學(xué)號(hào) char name[20]。 //成績 } student1, student2。 //年齡 unsigned int classno。 //姓名 char sex。 結(jié)構(gòu)類型 Point定義在后 語言程序設(shè)計(jì)教程
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1