語言十五次課_第1頁
語言十五次課_第2頁
語言十五次課_第3頁
語言十五次課_第4頁
語言十五次課_第5頁
已閱讀5頁,還剩31頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1請將您的手機(jī)鈴聲

設(shè)置為震動

2作業(yè)

課本例8.9

P136例8.10

P137例9.5

P1573復(fù)習(xí)回顧結(jié)構(gòu)體的定義結(jié)構(gòu)體變量的定義結(jié)構(gòu)體數(shù)組指向結(jié)構(gòu)體的指針4結(jié)構(gòu)體類型定義struct[結(jié)構(gòu)體名]{

類型標(biāo)識符成員名;類型標(biāo)識符成員名;

…………….};成員類型可以是基本型或構(gòu)造型struct是關(guān)鍵字,不能省略合法標(biāo)識符可以省略5結(jié)構(gòu)體變量定義先定義結(jié)構(gòu)體類型,再定義結(jié)構(gòu)體變量struct結(jié)構(gòu)體名{

類型標(biāo)識符成員名;

類型標(biāo)識符成員名;

…………….};struct結(jié)構(gòu)體名變量名;structstu{intnum;charname[20];charsex;intage;floatscore;charaddr[30];};structstua;

6新課講授鏈表的定義動態(tài)存儲分配函數(shù)創(chuàng)建鏈表刪除鏈表插入鏈表7用結(jié)構(gòu)體變量的成員作參數(shù)結(jié)構(gòu)體作函數(shù)參數(shù)值傳遞地址傳遞多值傳遞用指向結(jié)構(gòu)體變量指針作參數(shù)用結(jié)構(gòu)體變量作參數(shù)8#include"stdio.h"structdata{inta,b,c;};voidfunc(structdatap){p.a=18;p.b=5;p.c=p.a*p.b;printf("%d%d%d\n",p.a,p.b,p.c);}voidmain(){structdatam;m.a=27;m.b=3;m.c=m.a+m.b;printf("%d%d%d\n",m.a,m.b,m.c);func(m);printf("%d%d%d\n",m.a,m.b,m.c);}例用結(jié)構(gòu)體變量作參數(shù)ma:27b:3c:30(main)#include"stdio.h"structdata{inta,b,c;};voidfunc(structdatap){p.a=18;p.b=5;p.c=p.a*p.b;printf("%d%d%d\n",p.a,p.b,p.c);}voidmain(){structdatam;m.a=27;m.b=3;m.c=m.a+m.b;printf("%d%d%d\n",m.a,m.b,m.c);func(m);printf("%d%d%d\n",m.a,m.b,m.c);}9例用結(jié)構(gòu)體變量作參數(shù)m(main)(func)pa:27b:3c:30a:27b:3c:30#include"stdio.h"structdata{inta,b,c;};voidfunc(structdatap){p.a=18;p.b=5;p.c=p.a*p.b;printf("%d%d%d\n",p.a,p.b,p.c);}voidmain(){structdatam;m.a=27;m.b=3;m.c=m.a+m.b;printf("%d%d%d\n",m.a,m.b,m.c);func(m);printf("%d%d%d\n",m.a,m.b,m.c);}10例用結(jié)構(gòu)體變量作參數(shù)m(func)pa:18b:5c:90a:27b:3c:30(main)#include"stdio.h"structdata{inta,b,c;};voidfunc(structdatap){p.a=18;p.b=5;p.c=p.a*p.b;printf("%d%d%d\n",p.a,p.b,p.c);}voidmain(){structdatam;m.a=27;m.b=3;m.c=m.a+m.b;printf("%d%d%d\n",m.a,m.b,m.c);func(m);printf("%d%d%d\n",m.a,m.b,m.c);}11例用結(jié)構(gòu)體變量作參數(shù)ma:27b:3c:30(main)#include"stdio.h"structdata{inta,b,c;};voidfunc(structdata*p){p->a=18;p->b=5;p->c=p->a*p->b;printf("%d%d%d\n",p->a,p->b,p->c);}voidmain(){structdatam;m.a=27;m.b=3;m.c=m.a+m.b;printf("%d%d%d\n",m.a,m.b,m.c);func(&m);printf("%d%d%d\n",m.a,m.b,m.c);}12例用結(jié)構(gòu)體指針變量作函數(shù)參數(shù)ma:27b:3c:30(main)#include"stdio.h"structdata{inta,b,c;};voidfunc(structdata*p){p->a=18;p->b=5;p->c=p->a*p->b;printf("%d%d%d\n",p->a,p->b,p->c);}voidmain(){structdatam;m.a=27;m.b=3;m.c=m.a+m.b;printf("%d%d%d\n",m.a,m.b,m.c);func(&m);printf("%d%d%d\n",m.a,m.b,m.c);}13(func)p****ma:27b:3c:30(main)例用結(jié)構(gòu)體指針變量作函數(shù)參數(shù)14#include"stdio.h"structdata{inta,b,c;};voidfunc(structdata*p){p->a=18;p->b=5;p->c=p->a*p->b;printf("%d%d%d\n",p->a,p->b,p->c);}voidmain(){structdatam;m.a=27;m.b=3;m.c=m.a+m.b;printf("%d%d%d\n",m.a,m.b,m.c);func(&m);printf("%d%d%d\n",m.a,m.b,m.c);}(func)p****ma:18b:5c:90(main)例用結(jié)構(gòu)體指針變量作函數(shù)參數(shù)15#include"stdio.h"structdata{inta,b,c;};voidfunc(structdata*p){p->a=18;p->b=5;p->c=p->a*p->b;printf("%d%d%d\n",p->a,p->b,p->c);}voidmain(){structdatam;m.a=27;m.b=3;m.c=m.a+m.b;printf("%d%d%d\n",m.a,m.b,m.c);func(&m);printf("%d%d%d\n",m.a,m.b,m.c);}例用結(jié)構(gòu)體指針變量作函數(shù)參數(shù)ma:18b:5c:90(main)16鏈表計算十個學(xué)生某門課的總分92856854889845756179a[0]a[1]a[2]a[3]a[4]a[5]a[6]a[7]a[8]a[9]a#include<stdio.h>voidmain(){inti,a[10],sum=0;for(i=0;i<10;i++)scanf("%d",&a[i]);…}計算n個學(xué)生某門課的總分?17鏈表概念定義:將邏輯上相鄰的數(shù)據(jù)分配在物理上

相鄰的存儲單元中順序存儲要求:內(nèi)存連續(xù),并且表長必須事先定義2000211312a[1]a[2]a[3]a[4]a[5]3456a[0]200220042020082010200618鏈表概念定義:將邏輯上相鄰的數(shù)據(jù)分配在物理上

離散的存儲單元中,每個存儲單元中包含下一個相鄰數(shù)據(jù)的地址。鏈接存儲head200015200721200223201054NULL2000200720022010定義:將邏輯上相鄰的數(shù)據(jù)分配在物理上

相鄰的存儲單元中順序存儲要求:內(nèi)存連續(xù),并且表長必須事先定義19鏈表:把存放在不同地點(diǎn)的數(shù)據(jù)用地址鏈條串接而形成的數(shù)據(jù)鏈head200015201021200223200854NULL2000201020022008結(jié)點(diǎn):構(gòu)成鏈表的元素頭結(jié)點(diǎn)末結(jié)點(diǎn)頭指針數(shù)據(jù)域指針域鏈表概念20鏈表定義struct[結(jié)構(gòu)體名]{

類型標(biāo)識符成員名;類型標(biāo)識符成員名;

…………….

struct結(jié)構(gòu)體名*指針名;};21structodd{intx;

structodd*p;};head13579NULL例定義小于10的奇數(shù)的結(jié)點(diǎn)類型22structteacher{intnum;charname[10];intage;

structteacher*p;};head48張三021123李冰021234王飛0213NULL28李四0214例定義老師信息的結(jié)點(diǎn)類型23動態(tài)存儲分配函數(shù)malloc函數(shù)函數(shù)原型:void*malloc(unsignedsize)函數(shù)功能:在內(nèi)存的動態(tài)存儲區(qū)分配一塊長度為size字節(jié)的連續(xù)空間,并返回該區(qū)域的首地址。若函數(shù)調(diào)用失敗,就返回空指針NULL。24calloc函數(shù)函數(shù)原型:void*calloc(unsignedn,unsignedsize)函數(shù)功能:在內(nèi)存的動態(tài)存儲區(qū)分配長度為

size字節(jié)的連續(xù)空間n塊,并返回該區(qū)域的首地址。若函數(shù)調(diào)用失敗,就返回空指針NULL。動態(tài)存儲分配函數(shù)malloc函數(shù)函數(shù)原型:void*malloc(unsignedsize)25free函數(shù)函數(shù)原型:voidfree(void*p)函數(shù)功能:釋放當(dāng)前指針p所指向的內(nèi)存區(qū)域動態(tài)存儲分配函數(shù)calloc函數(shù)函數(shù)原型:void*calloc(unsignedn,unsignedsize)malloc函數(shù)函數(shù)原型:void*malloc(unsignedsize)26free函數(shù)函數(shù)原型:voidfree(void*p)函數(shù)功能:釋放當(dāng)前指針p所指向的內(nèi)存區(qū)域動態(tài)存儲分配函數(shù)calloc函數(shù)函數(shù)原型:void*calloc(unsignedn,unsignedsize)malloc函數(shù)函數(shù)原型:void*malloc(unsignedsize)27創(chuàng)建鏈表先進(jìn)后出:結(jié)點(diǎn)總是從表首插入,最后插入的點(diǎn)為頭結(jié)點(diǎn),即棧式:先進(jìn)后出式結(jié)構(gòu)28創(chuàng)建鏈表Structodd*head,*p;建空表:head=NULL;創(chuàng)建新結(jié)點(diǎn),并對結(jié)點(diǎn)的數(shù)據(jù)域賦值:

p=(結(jié)點(diǎn)類型*)malloc(長度);新結(jié)點(diǎn)進(jìn)棧:

p->next=head;head=p;重復(fù)2、3步headp4NULLheadp3head29創(chuàng)建鏈表先進(jìn)先出:結(jié)點(diǎn)總是從表尾插入,最后插入的點(diǎn)為尾結(jié)點(diǎn),即隊列式:先進(jìn)先出式結(jié)構(gòu)30創(chuàng)建鏈表創(chuàng)建新結(jié)點(diǎn),并對結(jié)點(diǎn)的數(shù)據(jù)域賦值:

head=(結(jié)點(diǎn)類型*)malloc(長度);開辟后續(xù)新結(jié)點(diǎn):

p=(結(jié)點(diǎn)類型*)malloc(長度);新結(jié)點(diǎn)插入表尾:last->next=p;4head對末結(jié)點(diǎn)指針last

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論