(6)
一蒲稳、結(jié)構(gòu)體概念
1. 結(jié)構(gòu)體也屬于一種數(shù)據(jù)類型湿酸,他屬于其中的構(gòu)造類型,結(jié)構(gòu)體要比數(shù)組更加靈活积锅,可以存放不同類型的數(shù)據(jù)爽彤,
2. 結(jié)構(gòu)體可以直接賦值
3. 結(jié)構(gòu)體是由若干成員組成的,成員既可以是基本數(shù)據(jù)類型缚陷,又可以是構(gòu)造類型
3. 聲明一個(gè)結(jié)構(gòu)體相當(dāng)于創(chuàng)造了一種數(shù)據(jù)類型
二适篙、結(jié)構(gòu)體聲明
1. 格式
struct 結(jié)構(gòu)體名{
類型說(shuō)明符 成員名;
...
類型說(shuō)明符 成員名箫爷;
}嚷节;
2. 示例
struct Student{
char name[20];
int age;
}
三、結(jié)構(gòu)體變量定義
1. 利用上面創(chuàng)造的數(shù)據(jù)類型來(lái)定義結(jié)構(gòu)體變量
struct 結(jié)構(gòu)體名 變量名 = {初值};
struct Student student = {"zhansan",24};
2. 結(jié)構(gòu)體成員訪問(wèn)
結(jié)構(gòu)體成員的使用和普通變量使用沒(méi)有區(qū)別虎锚,可以直接賦值
四硫痰、結(jié)構(gòu)體的優(yōu)化
1. typedef: 能夠?yàn)楝F(xiàn)有類型創(chuàng)建一個(gè)新的名字
2. 格式:
typedef 原類型名字 新類型名字
例如:typedef int Integer
3. 采用typedef優(yōu)化結(jié)構(gòu)體
1) 在定義結(jié)構(gòu)體變量時(shí)優(yōu)化
2)在聲明結(jié)構(gòu)體時(shí)優(yōu)化
五、結(jié)構(gòu)體應(yīng)用
1. 有三個(gè)學(xué)生翁都,編程找出分?jǐn)?shù)最高的學(xué)生以及年齡最小的學(xué)生
2. 結(jié)構(gòu)體嵌套碍论,也就是說(shuō)結(jié)構(gòu)體的成員仍然可以是結(jié)構(gòu)體
3. 訪問(wèn)學(xué)生的出生年份
五、結(jié)構(gòu)體與數(shù)組
1. 可以將多個(gè)結(jié)構(gòu)體變量放到數(shù)組中柄慰,構(gòu)成結(jié)構(gòu)體數(shù)組
2. 練習(xí)
1) 有五名學(xué)生保存在結(jié)構(gòu)體數(shù)組中鳍悠,編程查找成績(jī)最高者,輸出該學(xué)生的全部信息
2) 對(duì)上訴五名學(xué)生數(shù)組坐搔,按成績(jī)的從高到低排序藏研,并輸出
(7)
一、指針
1.? 程序的每個(gè)數(shù)據(jù)都有內(nèi)存地址概行,每個(gè)內(nèi)存單元都有一個(gè)編號(hào)蠢挡,這個(gè)編號(hào)就是內(nèi)存單元的地址,也被稱作指針。
2. 指針是一種特殊的數(shù)據(jù)類型业踏,直接指向目標(biāo)的存儲(chǔ)地址禽炬,實(shí)現(xiàn)直接訪問(wèn)對(duì)象存儲(chǔ)空間的功能。
3. 內(nèi)存單元中的內(nèi)容才是我們關(guān)注的數(shù)據(jù)
4. 指針變量: 用來(lái)保存內(nèi)存單元地址的變量勤家,就是指針變量腹尖。
二、 指針變量的定義和使用
格式:
數(shù)據(jù)類型 *p = NULL(初始值); //NULL 是0的字面零值
1. 與普通變量不同的是伐脖,定義指針變量的時(shí)候热幔,前面需要加*
2. 此時(shí)的*只起到修飾作用,告訴編譯器讼庇,p是個(gè)指針
三绎巨、取址運(yùn)算符
& ==> 取址運(yùn)算符
用來(lái)找到相應(yīng)變量的內(nèi)存地址
四、取值運(yùn)算符
* ==> 取值運(yùn)算符
用來(lái)找到指針變量指的內(nèi)存地址里面的值蠕啄,
五场勤、指針與數(shù)組
1. 在C語(yǔ)言中,數(shù)組是構(gòu)造類型介汹,系統(tǒng)會(huì)自動(dòng)分配一段連續(xù)的空間來(lái)存儲(chǔ)數(shù)組的全部數(shù)據(jù)却嗡,其中數(shù)組名代表數(shù)組首元素地址
2. 數(shù)組名就代表著數(shù)組里面的第一個(gè)元素的地址
六、指針的算術(shù)運(yùn)算
1. 指針的算術(shù)運(yùn)算只要求加減
2. 不同類型的指針的主要區(qū)別指針在自增或自減時(shí)嘹承,指針移動(dòng)字節(jié)數(shù)多少窗价,以及用*取值時(shí)取多少字節(jié)內(nèi)的數(shù)據(jù)
3. 指針可以當(dāng)數(shù)組名使用
七、指針與字符串
字符指針可以操作單個(gè)字符叹卷,也可以操作字符串
char string[] = "iPhone";//string
char *p = string;
*(p+4) = 'v';
printf("%s\n",p+1);
八撼港、指針數(shù)組
1. 存放指針的數(shù)組稱為指針數(shù)組
char *strings[3] = {“iPhone” , “Android” ,“win8”};
輸出全部字符串
2. 可以通過(guò)指針修改字符數(shù)組,但不可以修改字符串常量
以上就是為期兩周的C語(yǔ)言學(xué)習(xí)骤竹,感謝敬愛(ài)的讀者觀看帝牡。。蒙揣。靶溜。
親,打賞的走起懒震。罩息。。个扰。