結(jié)構(gòu)類型
- 引入: 離散——>相同數(shù)據(jù)類型的數(shù)組——>數(shù)據(jù)類型各不相同的結(jié)構(gòu)體
- 結(jié)構(gòu)的定義:結(jié)構(gòu)的定義描述了組織形式,沒有分配內(nèi)存空間
struct 結(jié)構(gòu)名
{數(shù)據(jù)類型 成員名1;
數(shù)據(jù)類型 成員名2;
......
數(shù)據(jù)類型 成員名n;
};
可以嵌套定義
- 結(jié)構(gòu)變量的定義:<存儲(chǔ)類型>
- struct 結(jié)構(gòu)名 結(jié)構(gòu)變量名;分配內(nèi)存空間
- 結(jié)構(gòu)變量的使用形式:
- 結(jié)構(gòu)變量名.成員名
- 不能將結(jié)構(gòu)作為整體參加數(shù)據(jù)處理,而是對(duì)各個(gè)成員項(xiàng)數(shù)據(jù)進(jìn)行操作和運(yùn)算。
- 結(jié)構(gòu)變量的初始化:
- struct student wang ={“wang wu”,20190101,‘F’,85,80};順序、個(gè)數(shù)、數(shù)據(jù)類型對(duì)應(yīng)相同
- 結(jié)構(gòu)數(shù)組
- <存儲(chǔ)類型>struct 結(jié)構(gòu)名 結(jié)構(gòu)數(shù)組名[元素個(gè)數(shù)] [={初值表}];相同結(jié)構(gòu)體變量的數(shù)組
- 初始化:struct student man[] ={
{“王偉”,20,‘八區(qū)231’,423201},
{“張強(qiáng)”,23,’三區(qū)102‘,423210}
}; - 訪問方式:man[0] , man[0].age
- 結(jié)構(gòu)指針
- <存儲(chǔ)類型>struct 結(jié)構(gòu)名 *結(jié)構(gòu)指針名 [=初始地址]
- struct student *ptr =man[0];
- 訪問方式
- 成員訪問符 ’.':(*結(jié)構(gòu)指針名).成員名
(*man).name 注意: “.” 的優(yōu)先級(jí)高,所以“ *man ”要括起來
- 指針運(yùn)算符 ‘->’ :結(jié)構(gòu)指針名->成員名
man->name
- 結(jié)構(gòu)體變量在函數(shù)間傳遞
- 4種方法:①結(jié)構(gòu)體變量的成員作參數(shù)②結(jié)構(gòu)體變量作參數(shù)③結(jié)構(gòu)變量地址作參數(shù)④返回值傳遞結(jié)構(gòu)體
- 復(fù)雜結(jié)構(gòu)體的設(shè)計(jì):研究底層對(duì)象的屬性、逐層向上整合、逐層嵌套結(jié)構(gòu)體
位字段
應(yīng)用:過程控制、參數(shù)檢測(cè)、數(shù)據(jù)通信

創(chuàng)新互聯(lián)建站是一家專注于成都做網(wǎng)站、網(wǎng)站設(shè)計(jì)與策劃設(shè)計(jì),平鄉(xiāng)網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)建站做網(wǎng)站,專注于網(wǎng)站建設(shè)十余年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:平鄉(xiāng)等地區(qū)。平鄉(xiāng)做網(wǎng)站價(jià)格咨詢:13518219792意義:壓縮存儲(chǔ),減少占用的寶貴空間,嵌入式程序設(shè)計(jì)
限制:嚴(yán)格依賴于機(jī)器硬件,可移植性相對(duì)較差
定義:以二進(jìn)制位為單位的字段組成的數(shù)據(jù);一個(gè)字節(jié)中按位劃分不同的區(qū)域,即位段
位字段結(jié)構(gòu):類型 [成員名]:位數(shù);


注意:①無名位字段指定長度:依次占用同一個(gè)字中的對(duì)應(yīng)位數(shù)
②無名位字段指定長度為0:依次占用同一個(gè)字中的同一字節(jié)下的剩余所有位數(shù),其后一個(gè)成員從下一字節(jié)開始存放
③一個(gè)位段必須存儲(chǔ)在同一存儲(chǔ)單元下(按字劃分即為同一個(gè)字中)
④可以單獨(dú)對(duì)成員項(xiàng)作運(yùn)算,但是不能作 &取地址運(yùn)算



訪問方式:成員訪問 ‘.’ 、指針訪問’->‘
聯(lián)合union
枚舉
- 枚舉類型:限定了取值范圍的整形類型,屬于基本數(shù)據(jù)類型
- 構(gòu)造類型:數(shù)組、結(jié)構(gòu)體、位字段、聯(lián)合
- 定義: enum 枚舉類型名 {枚舉元素1,枚舉元素2,…,枚舉元素n};
enum color {black,blue,red,green,white}; enum color col; col = red;
- 初始化:隱式、顯式; 顯式申明時(shí),后一個(gè)元素從前一個(gè)下標(biāo)開始

- 輸出:枚舉元素等價(jià)于整數(shù)。如果按%d輸出元素,則輸出0~len-1的編號(hào)
- 作用域:局部枚舉則在函數(shù)內(nèi)部使用;全局枚舉則在整個(gè)程序中使用。
- 注意:枚舉常量使用大寫字母標(biāo)識(shí),枚舉常量不能重新賦值。
類型定義語句
- 引入:對(duì)已定義的數(shù)據(jù)類型賦予別名,使用別名來定義變量
- 定義: typedef<類型說明><新別名1,新別名2…>;
typedef int INTEGER; INTEGER a,b;
- 好處:
- 簡化書寫量
tepedef struct tagComplex{double real; double imag;}COMPLEX; COMPLEX c1,c2;
- 突顯變量的實(shí)際意義
tepedef int LENGTH, WIDTH; LENGTH x; WIDTH y;
- 可移植性

- typedef 與 #define 的區(qū)別
- #define 屬于預(yù)處理語句,在程序編譯前將所有INTEGER 替換為 int ,形成新的代碼
- typedef 屬于編譯時(shí),不是簡單字符串替換,可以將數(shù)組類型、函數(shù)指針定義為新別名

鏈表
- 特點(diǎn):可動(dòng)態(tài)分配的數(shù)據(jù)結(jié)構(gòu)
- 組成:頭指針、節(jié)點(diǎn)
- 基本操作:鏈表建立、節(jié)點(diǎn)插入、節(jié)點(diǎn)刪除、鏈表刪除
文件
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購,新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧
網(wǎng)站題目:程序設(shè)計(jì)C語言(4)-創(chuàng)新互聯(lián)
文章來源:
http://weahome.cn/article/jpgcg.html