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

正文內(nèi)容

計(jì)算機(jī)本科c語(yǔ)言第十章講(1)-展示頁(yè)

2025-01-27 19:38本頁(yè)面
  

【正文】 : 1)結(jié)合性 :自右向左 (左結(jié)合性 ) 如: int a,b,*p1,*p2。b; / *把變量 b的地址賦給 pointer_2*/ ptinif (“% d,% d\n”, a,b); printf(“% d,% d\n”, *pointer_1,*pointer_2)。 pointer_1= amp。 a= 100。 例 main() { int a,b。 的意義為指針變量 p指向變量 i。 p=amp。 *p=3。 p=amp。 } 4) 可以將 NULL( 0)賦給指針變量,它表示指針變量 為空,即該指針變量不指向任何存儲(chǔ)單元。 d=(float *)k。 b=(int *)amp。a。 p2=p1。 p1=amp。 2) 同類型的指針變量之間可以互相賦值 int t1=1。 str=amp。 pf=amp。 錯(cuò)誤著是: p1=amp。t,*p2=amp。 int t,k。 char *str=amp。score。 2 指針變量賦值運(yùn)算 1) 可以將一個(gè)變量的地址直接賦給同類型的指針變量 float score。 取地址運(yùn)算符 * 指針運(yùn)算符(間接訪問(wèn)運(yùn)算符) 例如: amp。說(shuō)明 p只能指向類型為實(shí)型的變量,且使指針移動(dòng) 1個(gè)位置意味著移動(dòng) 4個(gè)字節(jié)。 3 在定義指針變量時(shí)必須指針基類型。 在定義指針變量時(shí)要注意: 1 一般形式: 基類型 *指針變量名 2 不能用一個(gè)整數(shù)給一個(gè)指針變量賦初值 int *p=2022。在定義指針時(shí),定義指針?biāo)赶虻臄?shù)據(jù)類型的目的是說(shuō)明如何解釋指針?biāo)赶虻目臻g的數(shù)據(jù)。 pa、 pb等分別指向不同數(shù)據(jù)類型的指針變量,它們的共同點(diǎn):值為地址,且它們的存儲(chǔ)單元空間是一樣的。 int *p1。 float *p3。 一、指針變量的定義 一般形式: 類型標(biāo)識(shí)符 *變量名 如: int *p1。 amp。 pa指向了 a,就可以通過(guò) pa指針對(duì) a進(jìn)行操作。a。b b==4 要注意,存放地址的變量是一種特殊變量( 地址變量或指針變量 ),它只能用來(lái)存放地址。 例如要想得到 b的值,可以先訪問(wèn)變量 pb,得到 pb的值1012,它是 b的地址。 房間號(hào) 房間 指向 下圖: a的地址為 1010,即 1010指向 a的存儲(chǔ)單元。 路牌 路 變量地址 變量?jī)?nèi)存單元 指向 指向 在三岔路口,路牌就是一個(gè)指針,它指向某一目的地; 變量的地址它指向變量的存儲(chǔ)單元,因此 變量的地址就是變量的指針 。 這種按變量地址存取變量值的方式,稱為 “ 直接存取 ” 方式或稱 “ 直接訪問(wèn) ” 方式。b)。 程序中若引用變量 a,系統(tǒng)找到其對(duì)應(yīng)的地址 1010,然后從 1010和 1011兩個(gè)字節(jié)的整型 存儲(chǔ)單元 中取出其值。 實(shí)際上,在編譯時(shí),在內(nèi)存中不再出現(xiàn)變量 ,而只有地址 amp。 要訪問(wèn)內(nèi)存中的變量,在程序中通常通過(guò)變量名來(lái)引用變量的值。 變量的地址是其所占存儲(chǔ)空間第一個(gè)字節(jié)的編號(hào),是用: amp。 它們?cè)趦?nèi)存中的情況如右圖所示: 內(nèi)存區(qū)的每個(gè)字節(jié)有一個(gè)編號(hào),這就是“地址”,它相當(dāng)于旅館的房間號(hào)。 float c = , d= 。 每個(gè)變量所占用的存儲(chǔ)單元都有確定的地址,具體的地址是在編譯時(shí)分配的。2022年 11月 1日 第十章 指針 重點(diǎn): 指針的概念、指針的運(yùn)算、指針的應(yīng)用 難點(diǎn): 指針概念的建立 凡在程序中定義的變量,在編譯時(shí),系統(tǒng)都給它們分配相應(yīng)的存儲(chǔ)單元。如,一般微機(jī) C系統(tǒng)給 int 變量分配 2字節(jié),給 float變量分配 4字節(jié)。 例如: int a = 3 , b = 4。 char e = ?w? , f=?y? 。在地址所標(biāo)志的單元中存放數(shù)據(jù),相當(dāng)于房間中住旅客一樣。變量名 來(lái)表示。 例如: printf(“%d”,a)。a。 又例如: scanf(“%d”,amp。將鍵盤輸入的一個(gè)數(shù)存到 1012開始的 2個(gè)字節(jié)的整型 存儲(chǔ)單元中。 “間接存取 ” 方式或稱 “ 間接訪問(wèn) ” 方式:先找到存放 a的地址的變量 pa,從中取出 a的地址,然后將 3送到 1010開始的 2個(gè)字節(jié)的整型存儲(chǔ)單元中 a 1010 3 a 1010 3 1010 pa 直接將 3送到整型變量 a所標(biāo) 識(shí)的單元中 將 3送到指針變量 pa所指向的單元 由于通過(guò)變量的地址能找到變量的存儲(chǔ)單元,我們說(shuō)地址 “ 指向 ” 該變量單元(如同房間號(hào)指向某一房間一樣)。若一個(gè)變量的地址為 2022可以說(shuō)變量的指針為 2022。 如同房間號(hào) 1010指向 1010房間。再通過(guò)地址 1012找到它所指向的存儲(chǔ)單元中的值 pb==amp。根據(jù)上圖所示的邏輯關(guān)系,可以把它們形象地表示為下圖: 指向 指向 指向 指向 指向 指向 pa=amp。稱 pa“指向 ” 變量 a, pa就是指向 a的指針 變 量 。 區(qū)別: 指針:即地址(變量的地址即變量的指針) 指針變量:其值為地址的變量 指向:是通過(guò)地址來(lái)體現(xiàn),通過(guò)地址能找到所需的變量單元,因此可說(shuō),地址指向該變量單元。a 3 a 1010 10 . 2 變量的指針和指向變量的指針變量 內(nèi)容:指針變量的定義; 指針變量的引用及作函數(shù)的參數(shù)。 char *p2。 說(shuō)明: (1) * 表示 指向 ,說(shuō)明 p p p3為指針型變量 (2) 指針變量有確定的指向的數(shù)據(jù)類型。中 int是指:所定義的指針變量是指向整型數(shù)據(jù)的 指針變量,或者說(shuō) p1只能存放整型數(shù)據(jù)的地址,也就是說(shuō) p1只能用來(lái)指向整型數(shù)據(jù); int 就是指針變量的 基類型 , 指針變量的基類型用來(lái)指定該指針變量可以指向的變量的 類型。 ?一個(gè)指向 char的指針和一個(gè)指向 int的指向不同點(diǎn): 其實(shí), 指針本身只有一種 , 指針變量存放的值都是內(nèi)存地址 。 0x30 0x31 0x32 0x33 0x0 0x0065FDED 0x0065FDEE 0x0065FDEF 0x0065FDF0 0x0065FDF1 如果有一個(gè)整型指針 *p指向了地址 0x0065FDED,那么系統(tǒng)就會(huì)將 指針指向的地址開始的 2個(gè)字節(jié)當(dāng) 成整數(shù)值來(lái)解釋;而如果一個(gè)字符 指針 *s指向了地址 0x0065FDED, 那么系統(tǒng)會(huì)認(rèn)為這里存放了一個(gè)字 符串。 寫此語(yǔ)句的原意可能是想將地址 2022作為指針變量 p的初值,但編譯系統(tǒng)并不把 2022認(rèn)為是地址,而認(rèn)為是整數(shù),因此認(rèn)為是語(yǔ)法錯(cuò)誤。 float *p; p++。 二、指針變量的引用 1 有兩個(gè)與指針變量有關(guān)的運(yùn)算符 amp。a為變量 a的地址, *p為指針變量 p所指向的存 儲(chǔ)單元。 float *pf=amp。 char ch。ch。 int *p1=amp。k。ch。k。score。 int *p1,*p2。t1。 3) 不同類型的指針變量之間可以通過(guò)類型強(qiáng)制轉(zhuǎn)換互 相賦值 例 include void main() {int a=2,*b,*k=amp。 float c=,*d。c。 printf(“%4d%4d%f”,*b,*k,*d)。 用指針變量對(duì)變量賦值 如: int i , j , *p。i。 j=*p+2。i。 注意: p是地址變量, *p 是非地址變量,與 i是一回事。 int *pointer_1,*pointer_2。b=10。a; / *把變量 a的地址賦給 pointer_1*/ pointer_2=amp。 } 關(guān)于運(yùn)算符 amp。 p1=amp。p2=amp。 amp。a 2)自增自減運(yùn)算 如: int a,*p。a。 (*p)++。 *(++p)。 include main() { int *p1,*p2,*p,a,b; scanf(% d,% d“,amp。b)。} printf(\na=% d,b=% d”,a,b)。 } 交換地址(指針變量),使 p1指向大數(shù) b,而變量 a、b未變。a amp。b amp。} 三、指針變量作為函數(shù)參數(shù) 值傳遞方式:函數(shù)的形參為變量;實(shí)參可以是變量、 常型、表達(dá)式。 功能:將一個(gè)變量的地址傳送到另一函數(shù)中,實(shí)參 和形參均可用指針。今用函數(shù)處理 ,而且用指針類型的數(shù)據(jù)作函數(shù)參數(shù)程序如下: swap( p1,p2) int *p1, *p2; {int p; p=*p1。} main() { int a,b。a,amp。 pointer_1= amp。 if( a< b) swap( pointer_1 ,pointer_2); printf( \n% d,% d\na, b) 。 例 程序可修改為: swap( p1,p2) int *p1, *p2; {int p; p=*p1。} main() { int a,b。a,amp。 if( a< b) swap( amp。b); printf( \n% d,% d\na, b) 。*p1=*p2; *p2=p。p2= p。 int *pointer_1, *pointer_2; scanf(“% d% d”,amp。a; pointer_2=& b; if( a< b) swap( pointer_ l,pointer_2); printf(“\n% d,% d\n”,* pointer_1,*pointer_2)。 amp。b 5 9 amp。b 5 9 amp。a 9 P1 a p1 a p1 a p2 b p2 b p2 b (a) (b) (c ) amp。b Pointer_1 Pointer_2 5 9 a b 調(diào)用函數(shù)時(shí)不會(huì)改變實(shí)參 指針變量的值,但可以改 變實(shí)參指針變量所指向變 量的值;實(shí)參和形參指針 變量的傳遞是單向的。 swap(pt1 ,pt2) int *pt1, *pt2; {int p。 *ptl=*pt2。} exchange (q1, q2, q3) int *q1, *q2, *q3; {if(*ql*q2) swap (q1, q2); if(*ql< *q3) swap(q1, q3); if(*q2 *q3) swap(q2, q3)。 scanf(“%d%d%d”,amp。b,amp。 p1=amp。p2=amp。p3=amp。 exchange(p1, p2, p3)。
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1