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

正文內(nèi)容

[理學(xué)]第7章指針(已修改)

2025-01-31 15:03 本頁(yè)面
 

【正文】 安 慶 師 范 學(xué) 院 計(jì) 算 機(jī) 與 信 息 學(xué) 院 1 指針的基本概念 指針與數(shù)組 指針與一維數(shù)組 第 7章 指針 安 慶 師 范 學(xué) 院 計(jì) 算 機(jī) 與 信 息 學(xué) 院 2 指針的基本概念 指針的概念 (內(nèi)存中存儲(chǔ)單元的編號(hào) ) float a[5]; 各元素的地址如圖所示 變量地址:系統(tǒng)分配給變量?jī)?nèi)存單元的起始地址 , 通過(guò)取地址運(yùn)算符 amp。獲取 , 不能人為確定 。 例如: int a。 float b。 char c。 scanf(%d%f%c,amp。a,amp。b,amp。c)。 注意: amp。不能作用于常量 、 表達(dá)式或寄存器上 。 安 慶 師 范 學(xué) 院 計(jì) 算 機(jī) 與 信 息 學(xué) 院 3 指針 即地址。由于地址唯一確定程序?qū)嶓w的存儲(chǔ)位置,就象路標(biāo)一樣,故形象地稱為 指針 。 指針變量 :專門存放變量 (或其它程序?qū)嶓w )地址的變量。指針變量也需要存儲(chǔ)單元,它本身也有地址。 4. 變量的訪問(wèn)方式 直接訪問(wèn)方式: 通過(guò)變量名或其地址 (如 a或 amp。a)訪問(wèn)變量的方式 ; 間接訪問(wèn)方式: 通過(guò)指針變量 (如 p)訪問(wèn)它指向的變量 (如 a)的方式 安 慶 師 范 學(xué) 院 計(jì) 算 機(jī) 與 信 息 學(xué) 院 4 指針變量的定義與初始化 指針的類型又稱指針的基類型 ,即指針?biāo)赶虻?程序?qū)嶓w (如變量、數(shù)組 )的類型,以此確定程序?qū)嶓w所占內(nèi)存的字節(jié)數(shù)。指針即地址,無(wú)論基類型是什么,在VC下是需要 4字節(jié)存儲(chǔ)空間。 類型 *指針變量 1, *指針變量 2, …… ; 例如: float *pi, *pj; 注意:“ *”表示其后的變量是指針變量,而不是指針變量名的一部分。 安 慶 師 范 學(xué) 院 計(jì) 算 機(jī) 與 信 息 學(xué) 院 5 指針變量沒(méi)有賦值時(shí)值是隨機(jī)的 , 被稱為 “ 野指針 ” 。 給指針變量賦地址值的方法有: ① 定義指針變量時(shí)初始化賦值; ② 在程序執(zhí)行部分賦值 。 定義指針變量時(shí)初始化賦值形式為: 類型 *指針變量名 =amp。變量名 , …… ; 例如: int a。 int *p=amp。a。 或者: int a,*p=amp。a。 安 慶 師 范 學(xué) 院 計(jì) 算 機(jī) 與 信 息 學(xué) 院 6 指針的運(yùn)算及引用 (1) 賦給同類型普通變量的地址值。如: int k=10, *p, *q; q=amp。k; 這時(shí) scanf(“%d”,q)。 與 scanf(“%d”,amp。k); 作用相同。 (2) 通過(guò)已有地址值的指針變量賦值。例如在上面的程序段之后用: p=q;給 p賦值,這時(shí) p和 q指向同一個(gè)變量 k (3) 通過(guò)標(biāo)準(zhǔn)函數(shù)獲得地址值 (第 9章有介紹 ) (4) 給指針變量賦 “ 空 ” 值,如: p=NULL; 安 慶 師 范 學(xué) 院 計(jì) 算 機(jī) 與 信 息 學(xué) 院 7 (1) 指向運(yùn)算符 * *指針 代表該指針?biāo)赶虻拇鎯?chǔ)單元的值 , 實(shí)現(xiàn)間接訪問(wèn) , 因此又叫 “ 間接訪問(wèn)運(yùn)算符 ” 。 如: int a=5, *p; p=amp。a; printf(%d,*p); *p的值為 5, 與 a等價(jià) 。 *為單目運(yùn)算符 , 優(yōu)先級(jí)高 、 右結(jié)合性 。 *運(yùn)算符和取地址運(yùn)算符 amp?;ツ?: *(amp。a)==a amp。(*p)==p 指針的運(yùn)算及引用 安 慶 師 范 學(xué) 院 計(jì) 算 機(jī) 與 信 息 學(xué) 院 8 【 注意 】 在不同的場(chǎng)合 *號(hào)的作用不同: 在說(shuō)明語(yǔ)句中, *表示其右邊是指針變量; 在表達(dá)式中,作為雙目運(yùn)算符, *是乘法運(yùn)算符;作為單目運(yùn)算符, *是指向運(yùn)算符。 (2)指針變量的引用 若有 int a=5, *p= amp。a ; 則 p與 amp。a等價(jià) *p與 a等價(jià) 安 慶 師 范 學(xué) 院 計(jì) 算 機(jī) 與 信 息 學(xué) 院 9 include main( ) { int a=10,*p=amp。a。 printf (*p=%d\n,*p)。 printf (Enter a: )。 scanf (%d,p)。 printf (a=%d\n,a)。 printf (“p=%x\n”,p)。 printf (amp。p=%x\n,amp。p)。 *p=5。 printf (a=%d\n,a)。 (*p)++。 printf (a=%d\n,a)。 } 【 例 71】 請(qǐng)理解下面程序中各語(yǔ)句的含義。 安 慶 師 范 學(xué) 院 計(jì) 算 機(jī) 與 信 息 學(xué) 院 10 【 分析 】 按題意,定義兩個(gè)指針變量 p p2,分別存入 i i2的地址,當(dāng) i1i2時(shí)用指針變量 p p2交換 i i2的值然后輸出 include main( ) { int i1, i2, *p1, *p2, t。 p1=amp。i1。 p2=amp。i2。 printf (輸入兩個(gè)數(shù) :\n)。 scanf (%d%d,p1,p2)。 if (i1i2) {t=*p1。*p1=*p2。*p2=t。 } printf (i1=%d,i2=%d\n,i1, i2)。 } 【 例 72】 輸入兩個(gè)整數(shù) i1和 i2,利用指針將大數(shù)存放到 i1中,小數(shù)存放到 i2中,最后按 i i2的順序輸出。 安 慶 師 范 學(xué) 院 計(jì) 算 機(jī) 與 信 息 學(xué) 院 11 利用指針變量的指向操作交換 i i2的值 若變量定義改為: int i1, i2, *p1, *p2, *p; 交換語(yǔ)句改為: if (i1i2){p=p1。 p1=p2。 p2=p。} 安 慶 師 范 學(xué) 院 計(jì) 算 機(jī) 與 信 息 學(xué) 院 12 但如果同時(shí)將輸出語(yǔ)句改為: printf (“max=%d,min=%d\n”,*p1, *p2)。 可實(shí)現(xiàn)從大到小輸出。 【 思考 2】 如果將交換 i i2值的語(yǔ)句改為: if (i1i2){*p=*p1。 *p1=
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號(hào)-1