freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

南京師范大學(xué)c語言第十講(編輯修改稿)

2025-07-12 12:13 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 me count Li Zhang Wang 0 0 0 167。 結(jié)構(gòu)體和指針 1. 指向結(jié)構(gòu)體變量的指針 ?定義形式: struct 結(jié)構(gòu)體名 *結(jié)構(gòu)體指針名 。 例 struct student *p。 ?使用結(jié)構(gòu)體指針變量引用成員形式 存放結(jié)構(gòu)體變量在內(nèi)存的起始地址 num name sex age stu p struct student { int num。 char name[20]。 char sex。 int age。 }stu。 struct student *p=amp。stu。 (*結(jié)構(gòu)體指針名 ).成員名 結(jié)構(gòu)體指針名 成員名 結(jié)構(gòu)體變量名 .成員名 指向運(yùn)算符 優(yōu)先級(jí) : 1 結(jié)合方向:從左向右 例 指向結(jié)構(gòu)體的指針變量 main() { struct student { long int num。 char name[20]。 char sex。 float score。 }stu_1,*p。 p=amp。stu_1。 =89101。 strcpy(,Li Lin)。 psex=39。M39。 pscore=。 printf(\nNo:%ld\nname:%s\nsex:%c\nscore:%f\n, (*p).num,pname,pscore)。 } 例 int n。 int *p=amp。n。 *p=10。 ? n=10 struct student stu1。 struct student *p=amp。stu1。 =101。 ? (*p).num=101 2. 指向結(jié)構(gòu)體數(shù)組的指針 例 指向結(jié)構(gòu)體數(shù)組的指針 struct student { int num。 char name[20]。 char sex。 int age。 }stu[3]={{10101,Li Lin,39。M39。,18}, {10102,Zhang Fun,39。M39。,19}, {10104,Wang Min,39。F39。,20}}。 main() { struct student *p。 for(p=stu。pstu+3。p++) printf(%d%s%c%d\n,pnum,pname,psex,page)。 } num name sex age stu[0] p stu[1] stu[2] p+1 3. 用指向結(jié)構(gòu)體的指針作函數(shù)參數(shù) ?用結(jié)構(gòu)體變量的成員作實(shí)參 ?用結(jié)構(gòu)體變量作參數(shù) 多值傳遞 ,效率低 ?用指向結(jié)構(gòu)體變量或數(shù)組的指針作形參參數(shù) 實(shí)參傳遞結(jié)構(gòu)體的地址 struct stud {int no。 char name[20]。 float score。 }。 void din(struct stud s[],int n)。 void prt(struct stud s[],int n)。 main() {struct stud st1[40],*p。 int i。 din(st1,40)。 prt(st1,40)。 } 例 用結(jié)構(gòu)體數(shù)組作函數(shù)參數(shù) :一個(gè)班級(jí)學(xué)號(hào) ,姓名 ,成績(jī)輸入輸出 . void din(struct stud s[],int n) { int i。 for(i=0。 in。 i++) scanf(%d%s%f,amp。s[i].no,\ s[i].name,amp。s[i].score)。 } 改成指針呢 ? void prt(struct stud s[],int n) { struct stud *p。 int i。 for(p=s。 ps+n。 p++) printf(%d %s %f \n,\ pno,pname,pscore)。 } 167。 單鏈表 1. 單鏈表概念 靜態(tài)鏈表與動(dòng)態(tài)鏈表 struct stud {int no。 float score。 struct stud *next。 }。 no sc o re n ex t h ead no sc o re n ex t no sc o re N U L L . . . 表尾標(biāo)記 2. 動(dòng)態(tài)內(nèi)存分配函數(shù) (得到內(nèi)存塊 , 釋放內(nèi)存塊 ) (1) void *malloc(unsigned size)。 在動(dòng)態(tài)存儲(chǔ)區(qū)分配一個(gè)長(zhǎng)度為 size的連續(xù)空間 , 返回起始地址 (指針 ), 或 0 (NULL, 不成功 ) 例 : struct stud *p。 p=(struct stud *) mallc(sizeof(struct stud))。 (2) void *calloc(unsigned n,unsigned size) 分配 n 個(gè) ,每個(gè)長(zhǎng)度為 size的空間 , 分配成功 , 返回首址 。 不成功返回 0 (NULL). include 或 include 或 NULL在 中定義 為 0 (3) void free(void *ptr) 釋放 ptr指向的內(nèi)存區(qū) (3) void free(void *ptr) 釋放 ptr指向的內(nèi)存區(qū) 單鏈表操作 設(shè)有定義 : include 或 , (1) 建立鏈表 (2) 插入節(jié)點(diǎn) (3) 刪除節(jié)點(diǎn) (4) 遍歷鏈表 include struct stud { int no。 float score。 struct stud *next。 } struct stud *head,*u,*p。 (1) 建立鏈表 head=NULL。 (2) 插入 ? 插入表首 NULL為 0 建立的是空表 h ea d p ② ① pnext=head。 head=p。 ? 插入表中間 (插在已知節(jié)點(diǎn) u之后 ) p ① ② pnext = unext。 unext = p。 u (3) 刪除 ? 刪除首節(jié)點(diǎn) h ea d ① ② p=head。 if (p!=NULL) { head=pnext。 pnext = NULL。 }
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)教案相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1