c语言构造数据类型有,《c语言程序设计基础7构造数据类型.ppt
《c語言程序設計基礎7構造數據類型
第7章 構造數據類型 第7章 構造數據類型 第7章 構造數據類型 7.1 構造數據類型概述 構造數據類型是C語言的一個特色,它是由一些簡單數據類型構造而來的。 前面所學的數組就是其中最基本的的一種。數組是由若干類型相同的元素構成,在內存中占用一塊連續的區域并且按順序存放,例如學生成績單、字符串、矩陣、數據表格等都可以用數組來表示,它們的元素具有同樣的數據類型。 但在實際程序設計中,我們經常要把一些類型不同卻又緊密聯系的數據項組織在一起加以處理。 7.2 結構體與結構體類型變量的定義 7.2.1 結構體的定義 就本質而言,結構體是一種較為復雜的構造類型數據。它是由若干不同類型的數據項組成,構成結構體的各個數據項稱為結構體成員也叫成員變量。在使用結構體類型前我們首先要對結構體內所包含信息作一說明,即定義結構體。 7.2.1 結構體的定義 struct為關鍵字,它表示一個結構體定義的開始,它與其后的結構體名一起代表某一特定的結構體類型。 結構體名是由用戶自己定義的合法標識符。 成員表列由一對花括號括起來,其中每個成員都是該結構體的一個組成部分,并且必須列出其類型和變量的名稱。結構體中各成員之間用分號隔開。 并且結構體定義也是用分號作為結束標志的,此處的分號不能省略,因為結構體定義在程序中就是一條說明語句。 7.2.1 結構體的定義 在定義結構體時,有以下幾點說明: ①定義結構體類型只是說明該類結構體數據的組織形式,在程序編譯時系統不會給結構體類型分配空間,只有定義了結構體變量,系統為該結構體變量分配空間。 7.2.1 結構體的定義 ②結構體成員可以是任何基本數據類型的變量,如int、char、float、double等,也可以是數組、指針類型的變量。這些成員變量可以是同一類型也可以是不同類型。 7.2.1 結構體的定義 ③結構體類型可以嵌套定義,即結構體成員也可以是結構體類型的變量。 7.2.2 結構體變量的定義 為了能夠在程序中使用結構體類型,必須定義結構體類型的變量,定義結構體變量的方法主要有以下四種: ⑴先定義結構體類型,再定義結構體變量。 7.2.2 結構體變量的定義 ⑵在定義結構類型的同時定義結構體變量。 ⑶直接說明結構體變量。 7.2.2 結構體變量的定義 ⑷先使用typedef定義結構體類型,給結構體類型起別名,再用別名定義結構體變量。 這樣在定義結構體變量的時候就可以既使用新的類型studentinfo來定義變量,又可以用struct student 來定義變量, 7.2.2 結構體變量的定義 按照結構體類型的組成,系統為定義的結構體變量分配內存單元。結構體變量的各個成員在內存中占用連續存儲區域,結構體變量所占內存大小為結構體中每個成員所占用內存的長度之和。以上定義的結構體變量各成員所占內存單元如表所示(以VC環境為例): 7.3 結構體變量的使用及初始化 7.3.1 結構體變量的使用 結構體作為一種新的數據類型,在定義結構體變量之后,可以像基本類型變量一樣賦值、運算,不同的是結構體變量不能整體引用,只能引用它的成員變量。 7.3.1.1 結構體成員變量使用的一般方式 結構體變量名.成員名 birthday.year、birthday.month、birthday.day 7.3.1 結構體變量的使用 可以將一個結構體變量賦值給另一個結構體變量。 進行賦值的結構體變量必須是同一類型的結構體變量。如果stu1已經賦值,則可以通過語句stu2=stu1將stu1的值賦給同類型的結構體變量stu2。 7.3.1 結構體變量的使用 7.3.1 結構體變量的使用 7.3.1.2 嵌套結構體中成員變量的使用 對于嵌套的結構體,如果要使用內部嵌套的結構體的成員變量,則需要連續的使用“.”運算符。 使用內部結構體的成員變量month用“stu1.date.month”的形式。 7.3.1 結構體變量的使用 7.3.2 結構體變量的初始化 對應結構體變量的定義形式,結構體變量初始化也有四種方法: 初始表中數據的個數應和成員項一致,各初值間用逗號隔開。按成員的先后順序對應賦值,如果初值個數少,則將無初值對應的成員賦以0值。如果初值個數多,則編譯出錯。有嵌套結構的結構體類型,賦初值也一一對應。 7.4 結構體數組 7.4.1 結構體數組的定義 ⑴先定義結構體類型,再定義結構體數組。 ⑵在定義結構類型的同時說明結構體數組。 7.4.1 結構體數組的定義 ⑶直接說明結構體數組。 ⑷使用typedef定義結構體類型,再定義數組。 7.4.2 結構體數組的初始化 ⑴定義結構體類型時初始化結構體數組。 ⑵先定義結構體類型,然后定義結構體數組并初始化。 7.4.3 結構體數組的使用 ⑴可以把一個數組元素賦予另一
總結
以上是生活随笔為你收集整理的c语言构造数据类型有,《c语言程序设计基础7构造数据类型.ppt的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Spring中抛出异常时,既要要返回错误
- 下一篇: jQuery选择器 第六章