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

正文內(nèi)容

c語言程序設(shè)計(jì)案例教程(四)ppt-資料下載頁(yè)

2025-01-04 08:52本頁(yè)面
  

【正文】 ? 結(jié)構(gòu)體與指針 Date: November 10, 2021 定義指向結(jié)構(gòu)體的指針 ? 定義形式: struct 結(jié)構(gòu)體名 *結(jié)構(gòu)體指針名 。 – 例: struct student *p。 存放結(jié)構(gòu)體變量在內(nèi)存的起始地址 num name sex age stu p struct student { int num。 char name[20]。 char sex。 int age。 }。 struct student stu。 struct student *p=amp。stu。 或: struct student *p。 p=(struct student *)malloc(sizeof(struct student)) Date: November 10, 2021 通過指針引用成員變量 例 int n。 int *p=amp。n。 *p=10。 ? n=10 struct student stu1。 struct student *p=amp。stu1。 =101。 ? (*p).num=101 ? pnum=101 結(jié)構(gòu)體指針名 成員名 結(jié)構(gòu)體變量名 .成員名 (*結(jié)構(gòu)體指針名 ).成員名 Date: November 10, 2021 小組討論并總結(jié) ? 指針定義后為什么必須要賦值才能使用 ? 為什么指向變量的指針必須同變量的類型一致 ? int *p。與 *p=10中的 *有什么區(qū)別 ? 使用指針的意義 Date: November 10, 2021 結(jié)論 1—— 指針定義后為什么必須要賦值才能使用? ? 指針如果沒有賦值,則指向一個(gè)任意的地址,如果使用沒有初始化的指針,很危險(xiǎn),會(huì)發(fā)生一些不可預(yù)料的后果。 Date: November 10, 2021 結(jié)論 2—— 為什么指向變量的指針必須同變量的類型一致? ? 指針變量用來存放地址,使用前要進(jìn)行初始化,因此要知道其存放什么類型的地址。 ? 一個(gè)指針必須指向某一個(gè)確定的數(shù)據(jù)類型定義的變量,而不能隨便更改一個(gè)指針變量所指向的數(shù)據(jù)類型。 ? 具體地說,一個(gè)整型指針變量只能指向一個(gè)整型變量,一個(gè)實(shí)型指針只能指向一個(gè)實(shí)型變量,更不能定義一個(gè)萬能型的指針變量( void)既可以指向一種數(shù)據(jù)類型,又可以指向另一種數(shù)據(jù)類型 Date: November 10, 2021 結(jié)論 3—— int *p。與 *p=10中的 *有什么區(qū)別? ? int *p中的 *表示定義指針變量 p ? *p=10中的 *表示訪問指針變量 p指向地址處存放的值 Date: November 10, 2021 結(jié)論 3—— 使用指針的意義 ? 使程序簡(jiǎn)潔、緊湊、高效 ? 有效地表示復(fù)雜的數(shù)據(jù)結(jié)構(gòu) ? 動(dòng)態(tài)分配內(nèi)存 ? 得到多于一個(gè)的函數(shù)返回值 Date: November 10, 2021 作業(yè) —— 每人必做 ? 1.從鍵盤輸入 5個(gè)整數(shù)到動(dòng)態(tài)內(nèi)存區(qū)域,求出其中偶數(shù)之和。 ? 2. 定義一個(gè)指向“學(xué)生”結(jié)構(gòu)體的指針,通過函數(shù) malloc()為一個(gè)學(xué)生的信息分配空間,通過指針為學(xué)號(hào)、姓名、 4門成績(jī)賦值并輸出。 Date: November 10, 2021 2021年 11月 10日星期三 第六章 指針 指針與數(shù)組 Date: November 10, 2021 授課要點(diǎn) 指向數(shù)組元素的指針變量 指針的運(yùn)算 用指針表示數(shù)組元素 Date: November 10, 2021 引入:數(shù)組和指針的關(guān)系 數(shù)組名 是表示數(shù)組 首地 址的 地址常量 指針變量 是存放變量 地址的變量 Date: November 10, 2021 指向數(shù)組元素的指針變量 例 int array[10]。 int *p。 p=amp。array[0]。 //? p=array。 或 int *p=amp。array[0]。 或 int *p=array。 array[0] array[1] array[2] array[3] array[9] ... 整型指針 p amp。array[0] p Date: November 10, 2021 授課要點(diǎn) 指向數(shù)組元素的指針變量 指針的運(yùn)算 用指針表示數(shù)組元素 Date: November 10, 2021 指針的運(yùn)算 ?指針變量的賦值運(yùn)算 – p=amp。a。 (將變量 a地址 ?p) – p=array。 (將數(shù)組 array首地址 ?p) – p=amp。array[i]。 (將數(shù)組元素地址 ?p) – p1=p2。 (指針變量 p2值 ?p1) – 不能把一個(gè)整數(shù) ?p,也不能把 p的值 ?整型變量 如 int i, *p。 p=1000。 (?) i=p。 (?) Date: November 10, 2021 指針的算術(shù)運(yùn)算 ? 指針的算術(shù)運(yùn)算: – p?i (i為整型數(shù) ) – p++, p, p+i, pi, p+=i, p=i等 – 若 p1與 p2指向同一數(shù)組, p1p2=兩指針間元素個(gè)數(shù) ?(p1p2)/d – p1+p2 無意義 Date: November 10, 2021 指針的算術(shù)運(yùn)算 例 p指向 short int型數(shù)組,且 p=amp。a[0]。 則 p+1 指向 a[1] a[0] a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] a數(shù)組 p p+1,a+1 p+i,a+i p+9,a+9 例 int a[10]。 int *p=amp。a[2]。 p++。 *p=1。 等價(jià)于 a[3]=1。 例 int a[10]。 int *p1=amp。a[2]。 int *p2=amp。a[5]。 則: p2p1=3。 Date: November 10, 2021 有定義 :float a[10],*p=NULL。 則 : p=a。 p、 p++表示什么? p=amp。a[3]。 p、 p p+ p 表示什么? 模仿練習(xí) Date: November 10, 2021 授課要點(diǎn) 指向數(shù)組元素的指針變量 指針的運(yùn)算 用指針表示數(shù)組元素 Date: November 10, 2021 數(shù)組元素表示方法 a[0] a[1] a[2] a[3] a[9] ... a a+9 a+1 a+2 地址 元素 下標(biāo)法 a[0] a[1] a[2] a[9] a[0] a[1] a[2] a[3] a[9] ... p p+9 p+1 p+2 地址 元素 指針法 *p *(p+1) *(p+2) *(p+9) [] 變址運(yùn)算符 a[i] ? *(a+i) a[i] ? p[i] ? *(p+i) ?*(a+i) 有 :int a[10],*p=a。 Date: November 10, 2021 有定義 :float a[10],*p=NULL。 則 : p=amp。a[5]。 *p 、 *(p+1) 、 *(p+3)表示什么? p=a。 *p+1 、 *(p+5)1表示什么? 模仿練習(xí) Date: November 10, 2021 用指針表示數(shù)組元素舉例 1 例:定義一一維數(shù)組,從鍵盤輸入元素值,并輸出。要求用指針表示數(shù)組元素 void main() { int i,*p,a[7]。 p=a。 for(i=0。i7。i++) scanf(%d,p++)。 printf(\n)。 p=a。 for(i=0。i7。i++,p++) printf(%d,*p)。 } 指針變量可以指到 數(shù)組后 的內(nèi)存單元 Date: November 10, 2021 用指針表示數(shù)組元素舉例 2 例:輸入 10個(gè)整數(shù),找出最大值并輸出。要求用指針表示數(shù)組元素 void main() { int a[10],*p=a,*pmax=a,i。 for(i=0。i10。i++) { printf(請(qǐng)輸入第 %d個(gè)數(shù): ,i+1)。 scanf(%d,p++)。 } p=a+1。 for(i=1。i10。i++,p++) if(*pmax*p) pmax=p。 printf(max=%d\n,*pmax)。 } Date: November 10, 2021 學(xué)生模仿練習(xí) 以下習(xí)題用指針方法完成: 從鍵盤輸入一字符串,然后反序輸出。 輸入8?jìng)€(gè)整數(shù),找出其中最小值和最大值并輸出。 Date: November 10, 2021 模仿練習(xí)答案 1. include include void main() { char str[10]。 char *p=NULL。 gets(str)。 for(p=str+strlen(str)1。p=str。p) printf(%c,*p)。 } Date: November 10, 2021 模仿練習(xí)答案 2. include include int max(int *q,int n)。 void main() { int a[5],*p=a。 int i。 for(i=0。i5。i++,p++) scanf(%d,p)。 printf(max=%d,max(a,5))。 } int max(int *q,int n) { int i。 int maxNo=*q。 q=q+1。 for(i=1。in。i++,q++) if(*qmaxNo) maxNo=*q。 return maxNo。 } Date: November 10, 2021 小組討論并總結(jié) 數(shù)組元素的表示方法有哪幾種,并舉例說明? 數(shù)組名和指向數(shù)組的指針有何區(qū)別? Date: November 10, 2021 結(jié)論 1—— 數(shù)組元素表示方法 有四種表示方法,如下: int a[10],*p=a。 a[i] p[i] *(p+i) *(a+i),它們都表示數(shù)組的第 i+1個(gè)元素 Date: November 10, 2021 結(jié)論 2—— 數(shù)組名和指向數(shù)組的指針有何區(qū)別 ? 數(shù)組名是 地址常量 ,它的值不能改變 ? 指向數(shù)組的指針,是 指針變量 ,它的值可以改變 Date: November 10, 2021 作業(yè) —— 每人必做 ? 將“學(xué)生成績(jī)管理系統(tǒng)”中的“學(xué)生”變量定義成數(shù)組,學(xué)生信息的輸入、輸出代碼做出相應(yīng)的修改。
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1