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

正文內(nèi)容

c語言:第11章__復(fù)雜數(shù)據(jù)類型-預(yù)覽頁

2025-08-25 16:00 上一頁面

下一頁面
 

【正文】 rcpy (, )。 = 。 = 39。 = 90。stu1, amp。 float avegrade, maxgrade, mingrade。 printf (input the grade of five course:\n)。[i])。 for (i = 0。 = ([i] ) ? [i] : 。[i]的運(yùn)算順序: amp。 char y。 sizeof(a) = sizeof() + sizeof() + sizeof() = 8 + 1 + 2 = 11( byte) 或 sizeof(struct MyStruct) = sizeof(double) + sizeof(char) + sizeof(int) = 8 + 1 + 2 = 11( byte) 語言程序設(shè)計教程 第二版 第十一章 復(fù)雜數(shù)據(jù)類型 C ? 基于 TC或 BC環(huán)境下的結(jié)構(gòu)體變量內(nèi)存分配 struct MyStruct { double x。 0 1 2 3 4 5 6 7 8 9 10 ( 8 byte) ( 1 byte) ( 2 byte) a( 11 byte) 結(jié)構(gòu)體變量 a的內(nèi)存分配示意圖: 語言程序設(shè)計教程 第二版 第十一章 復(fù)雜數(shù)據(jù)類型 C ? 基于 VC環(huán)境下的結(jié)構(gòu)體變量內(nèi)存分配 在 VC環(huán)境下,結(jié)構(gòu)體變量分配內(nèi)存的方式與 TC或 BC是不同的, 其所占內(nèi)存空間的大小不一定等于結(jié)構(gòu)體變量所包含的每個成員所占內(nèi)存空間大小之和。 } a。 語言程序設(shè)計教程 第二版 第十一章 復(fù)雜數(shù)據(jù)類型 C ? 基于 VC環(huán)境下的結(jié)構(gòu)體變量內(nèi)存分配 類型 對齊方式 (變量存放的起始地址相對于結(jié)構(gòu)的起始地址 的偏移量) char 偏移量必須為 sizeof(char) 即 1的倍數(shù) short 偏移量必須為 sizeof(short) 即 2的倍數(shù) int 偏移量必須為 sizeof(int) 即 4的倍數(shù) long 偏移量必須為 sizeof(long) 即 4的倍數(shù) float 偏移量必須為 sizeof(float) 即 4的倍數(shù) double 偏移量必須為 sizeof(double) 即 8的倍數(shù) VC下常用數(shù)據(jù)類型的對齊方式 在 VC編譯環(huán)境下,結(jié)構(gòu)體變量內(nèi)存分配方式為: (1) 結(jié)構(gòu)體變量中各成員變量在存放的時候根據(jù)在結(jié)構(gòu)體中出現(xiàn)的順序依次申請空間,同時按照上表的對齊方式調(diào)整位置,空缺的字節(jié) VC會自動填充。 int z。 int z。 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ( 8 byte) ( 1 byte) 自動填充 ( 3 byte) ( 4 byte) a ( 16 byte) sizeof(double)=8的倍數(shù) sizeof(char)=1的倍數(shù) sizeof(int)=4的倍數(shù) 語言程序設(shè)計教程 第二版 第十一章 復(fù)雜數(shù)據(jù)類型 C ? 基于 VC環(huán)境下的結(jié)構(gòu)體變量內(nèi)存分配 結(jié)構(gòu)體變量定義 內(nèi)存分配說明 struct MyStruct { char y。 空間總的大小為 1+7+8+4=20,不是結(jié)構(gòu)體的字節(jié)邊界數(shù)(即結(jié)構(gòu)體中占用最大空間的類型所占用的字節(jié)數(shù) sizeof(double)=8)的倍數(shù),所以需要 填充 4個字節(jié) ,以滿足結(jié)構(gòu)體變量 b所占內(nèi)存空間的大小為 sizeof(double)=8的倍數(shù)。 } b。 unsigned int age, workyears。 //TEACHER是別名 INTEGER a。 TEACHER t。 //相當(dāng)于 char str[81]。 float grade。 unsigned int age, classno。 unsigned int age, classno。 no name sex age classno grade …… …… …… …… …… …… 結(jié)構(gòu)體類型Student_Info stu[0] stu[1] stu[9] …… struct Student_Info { char no[9]。 unsigned int classno。M39。F39。, 18, 1, 90}, {20220307, WangHai, 39。, 18, 2, 95}}。M39。 例: 順序初始化 例: struct Man_Info //Man_Info也可省略 { char name[20]。 char name[20]。 float grade。 printf (%s, stu[0].name)。 //得票數(shù) } leader[3] = { Li, 0, Zhang, 0, Wang, 0 }。 //輸入候選人姓名 if (strcmp(leader_name, 0) == 0) //輸入為 0結(jié)束 break。 //得票數(shù)加 1 } for (i = 0。 例: struct Grade_Info { int score。 語言程序設(shè)計教程 第二版 第十一章 復(fù)雜數(shù)據(jù)類型 C 線性鏈表的基本操作 基本操作有: 創(chuàng)建 、 插入 、 刪除 、 輸出 和 銷毀 等。 head ∧ tail NODE *Create_LinkList ( ) //創(chuàng)建鏈表 { NODE *head, *tail, *pnew。 return (NULL)。 pnewnext = NULL。 } 【 例 】 鏈表創(chuàng)建操作函數(shù) Create_LinkList。 //輸入成績 if (score 0) //成績?yōu)樨?fù) ,循環(huán)退出 break。 } 語言程序設(shè)計教程 第二版 第十一章 復(fù)雜數(shù)據(jù)類型 C 線性鏈表的基本操作 ? 鏈表的插入操作 含義: 在第 i個結(jié)點(diǎn) Ni與第 i+1節(jié)點(diǎn) Ni+1之間插入一個新的結(jié)點(diǎn) N,使線性表的長度增 1,且 Ni與 Ni+1的邏輯關(guān)系發(fā)生如下變化:插入前, Ni是 Ni+1的前驅(qū), Ni+1是 Ni的后繼;插入后,新插入的結(jié)點(diǎn) N成為 Ni的后繼、 Ni+1的前驅(qū) 基本思想: 通過單鏈表的頭指針 head,首先找到鏈表的第一個結(jié)點(diǎn);然后順著結(jié)點(diǎn)的指針域找到第 i個結(jié)點(diǎn),最后將pnew指向的新結(jié)點(diǎn)插入到第 i個結(jié)點(diǎn)之后。 語言程序設(shè)計教程 第二版 第十一章 復(fù)雜數(shù)據(jù)類型 C 【 例 】 鏈表插入操作函數(shù) Insert_LinkList 。 for (j = 0。 j++) //將 p指向要插入的第 i個節(jié)點(diǎn) p = pnext。 //將插入節(jié)點(diǎn)的指針域指向第 i個節(jié)點(diǎn)的后繼節(jié)點(diǎn) pnext = pnew。刪除時只需執(zhí)行 pnext = qnext即可,當(dāng)然不要忘了釋放節(jié)點(diǎn) i的內(nèi)存單元。 int j。 j i amp。 if (pnext == NULL) //表明鏈表中第 i個節(jié)點(diǎn)不存在 { printf (the %d node not foundt!\n, i)。 //刪除節(jié)點(diǎn) i free(q)。 void Display_LinkList(NODE *head) { NODE *p。 printf (\n)。 語言程序設(shè)計教程 第二版 第十一章 復(fù)雜數(shù)據(jù)類型 C void Free_LinkList(NODE *head) { NODE *p, *q。 free (q)。 include include struct Grade_Info { int score。 void Insert_LinkList (NODE *head, NODE *pnew, int i)。 void main ( ) { NODE *head, *pnew。 Display_LinkList (head)。 } pnewscore = 88。 //輸出鏈表中的值 Delete_LinkList (head, 3)。 //銷毀鏈表 } 運(yùn)行結(jié)果 (假設(shè)輸入為: 70 65 78 90 95 85 1 ): after create: 70 65 78 90 95 85 after insert: 70 65 78 88 90 95 85 after delete: 70 65 88 90 95 85 語言程序設(shè)計教程 第二版 第十一章 復(fù)雜數(shù)據(jù)類型 C 聯(lián)合體 ? 構(gòu)造數(shù)據(jù)類型,也叫 共用體 ? 用途: 使幾個不同類型的變量共占一段內(nèi)存 (相互覆蓋 ) 聯(lián)合體類型的定義 union [聯(lián)合體類型名 ] { 數(shù)據(jù)類型名 1 成員名 1; 數(shù)據(jù)類型名 2 成員名 2; … … 數(shù)據(jù)類型名 n 成員名 n; }; 類型定義 不分配內(nèi)存 ch i f 2022 2022 2022 2022 共占 4字節(jié) sizeof(union UData) = sizeof(f) 聯(lián)合體的大小是成員中占內(nèi)存最大的成員的大小 union UData { short i。 ch i f 2022 2022 2022 2022 2022 2022 2022 2022 共占 7字節(jié) struct SData { short i。 語言程序設(shè)計教程 第二版 第十一章 復(fù)雜數(shù)據(jù)類型 C 聯(lián)合體變量的定義和引用 ? 聯(lián)合體變量的定義 形式一 : union data { short i。 形式二 : union data { short i。 union data a, b, *p, d[3]。 } a,b,c。 }。 char ch。 //10賦給成員 i union UData data = {39。A39。A39。 具有相同聯(lián)合體類型的變量之間也可以相互賦值。 }。 //錯誤 = 10。 //正確,將 data的成員 f d[0].ch = 39。 賦給 d[0]的成員 ch
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1