共同体不是c语言中的一个数据类型,《c语言程序设计教学资料》第12章---构体和共同体.ppt...
《c語(yǔ)言程序設(shè)計(jì)教學(xué)資料》第12章---構(gòu)體和共同體
向函數(shù)傳遞結(jié)構(gòu)體 用結(jié)構(gòu)體指針或結(jié)構(gòu)體數(shù)組作為函數(shù)參數(shù),向函數(shù)傳遞結(jié)構(gòu)體的地址 按值調(diào)用 按地址調(diào)用 結(jié)構(gòu)體變量作函數(shù)參數(shù) 實(shí)現(xiàn)按值調(diào)用 結(jié)構(gòu)體指針作函數(shù)參數(shù) 從函數(shù)返回 結(jié)構(gòu)體變量的值 共用體 共用體所占內(nèi)存的字節(jié)數(shù) 不能為共用體的所有成員同時(shí)進(jìn)行初始化,只能對(duì)第一個(gè)成員進(jìn)行初始化。此外,共用體成員不能進(jìn)行比較操作,也不能作為函數(shù)參數(shù)。 第12章 結(jié)構(gòu)體和共用體 主要內(nèi)容 定義結(jié)構(gòu)體類型變量的方法 結(jié)構(gòu)體變量的引用 結(jié)構(gòu)體變量的初始化 結(jié)構(gòu)體數(shù)組 指向結(jié)構(gòu)體類型數(shù)據(jù)的指針 共用體 用typedef定義類型 為什么要定義結(jié)構(gòu)體類型 在程序例如何表示一人(姓名、年齡、性別…) 想表示多個(gè)人呢? 如何用計(jì)算機(jī)程序?qū)崿F(xiàn)下述表格的管理? 初始化 優(yōu)點(diǎn):結(jié)構(gòu)緊湊,方便管理,數(shù)據(jù)的相關(guān)性強(qiáng),便于查找,賦值時(shí)只針對(duì)某個(gè)學(xué)生,局部的輸入錯(cuò)誤不會(huì)影響全局和其他人信息 結(jié)構(gòu)體和共用體 C語(yǔ)言允許用戶根據(jù)具體問(wèn)題利用已有的基本類型來(lái)構(gòu)造自己所需的數(shù)據(jù)類型 數(shù)組、結(jié)構(gòu)體、共用體都數(shù)據(jù)構(gòu)造性數(shù)據(jù)類型 結(jié)構(gòu)體定義:由若干不同類型的數(shù)據(jù)項(xiàng)組成(不同類型數(shù)據(jù)的集合),構(gòu)成結(jié)構(gòu)體的各個(gè)數(shù)據(jù)項(xiàng)稱為結(jié)構(gòu)體成員 共同體定義:由若干不同類型的數(shù)據(jù)項(xiàng)組成,構(gòu)成共同體的各個(gè)數(shù)據(jù)項(xiàng)稱為共同體成員 數(shù)組、結(jié)構(gòu)體、共同體比較 數(shù)組:相同類型數(shù)據(jù)構(gòu)成,適合于對(duì)具有相同類型屬性的數(shù)據(jù)進(jìn)行批處理 結(jié)構(gòu)體:將不同類型的數(shù)據(jù)組織到統(tǒng)一的名字下,適合于關(guān)系緊密、邏輯相關(guān)、具有相同或者不同屬性的數(shù)據(jù)進(jìn)行處理,適合于數(shù)據(jù)庫(kù)管理系統(tǒng) 共同體:邏輯關(guān)系相關(guān)的不同類型數(shù)據(jù)集合,但數(shù)據(jù)成員是情形互斥的,每個(gè)時(shí)刻只有一個(gè)數(shù)據(jù)成員起作用。 struct 結(jié)構(gòu)體名 { 數(shù)據(jù)類型 成員1名字; 數(shù)據(jù)類型 成員2名字; …… 數(shù)據(jù)類型 成員n名字; }; 成員列表 結(jié)構(gòu)體 定義結(jié)構(gòu)體第一步:聲明結(jié)構(gòu)體模板 格式: 如:struct student { int num; char name[20]; char sex; int age; float score[4]; char addr[30]; }; 聲明結(jié)構(gòu)體模板的主要目的是利用已有的數(shù)據(jù)類型定義一個(gè)新的數(shù)據(jù)類型 結(jié)構(gòu)體模板只是聲明了一種數(shù)據(jù)類型,定義了數(shù)據(jù)的組織形式,并未聲明結(jié)構(gòu)體類型的變量 定義結(jié)構(gòu)體第二步:利用已經(jīng)定義好的結(jié)構(gòu)體數(shù)據(jù)類型定義結(jié)構(gòu)體變量 定義結(jié)構(gòu)體變量方式: (1)先聲明結(jié)構(gòu)體模板,在定義結(jié)構(gòu)體變量 struct 結(jié)構(gòu)體名 { 結(jié)構(gòu)體成員變量的定義; } 變量名1,變量名2,...,變量名n; struct 結(jié)構(gòu)體名 { 成員列表 } ; struct 結(jié)構(gòu)體名 變量名1,變量名2,...,變量名n; (2)在聲明結(jié)構(gòu)體模板的同時(shí)定義結(jié)構(gòu)體變量 (3)在直接定義結(jié)構(gòu)體變量 struct { 結(jié)構(gòu)體成員變量的定義; } 變量名1,變量名2,...,變量名n; 此時(shí)不出現(xiàn)結(jié)構(gòu)體名 方法二: struct student { int number; char name[20]; char sex; int age; float score; }stu1,stu2; 方法一: struct student { int number; char name[20]; char sex; int age; float score; }; struct student stu1,stut2; 說(shuō)明: 結(jié)構(gòu)體名(struct):用于標(biāo)識(shí)一種新的數(shù)據(jù)類型,即結(jié)構(gòu)體類型,可以省略。 注意區(qū)分結(jié)構(gòu)體類型與基本數(shù)據(jù)類型的不同,它是復(fù)合數(shù)據(jù)類型。 結(jié)構(gòu)體成員變量與普通變量的定義一樣,它還可以是結(jié)構(gòu)體變量。 嵌套的結(jié)構(gòu)體 num name sex age birthday addr month day year struct Date { int month; int day; int year; }; struct Stu { int num; char name[20]; char sex; int age; struct Da
總結(jié)
以上是生活随笔為你收集整理的共同体不是c语言中的一个数据类型,《c语言程序设计教学资料》第12章---构体和共同体.ppt...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 93斤的菜籽油,单价13元一斤,请问一起
- 下一篇: 为什么粽子没放糖会变甜?