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

正文內(nèi)容

經(jīng)典c語(yǔ)言譚浩強(qiáng)版第十章。指針-在線瀏覽

2025-07-17 23:25本頁(yè)面
  

【正文】 : ①、指針變量定義后,若不賦值,其值是不確定的; ②、可以給指針變量賦空值 (NULL), 使指針變量 不指向任何變量 ; ip=NULL。 char ch, *cp。i。ch。ch。i。 ip=amp。 ip=a。 ip=3000。 p=amp。 i=5。不定 i 不定 p amp。 p1=amp。 printf(“%x”, p1)。 *p1=3。 a, 不定 a 不定 p1 不定 p2 amp。 amp。和 * amp。既可作用于一般變量,也可作用于指針變量; ②、 *只能作用于指針變量; ③、 表達(dá)式中的 *p與 變量定義中的 *p含義不同; int i, *p=amp。 *p=5。a。 p=amp。 int a, *p。a。 ①、賦值: p1=amp。 p2=p1。 ③、取內(nèi)容: *p1=5。 printf(%d, *p1)。 p2。 (只能和一個(gè)整數(shù) ) 例 include main( ) { int a1=11, a2=22。 p1=amp。 p2=amp。 printf(%d, %d\n, *p1, *p2)。 printf(%d, %d\n, *p1, *p2)。a1 amp。但在某一時(shí)刻,一個(gè)指針變量只能指向一個(gè)存儲(chǔ)單元,因?yàn)橹羔樧兞吭谀骋粫r(shí)刻只能存放一個(gè)變量的地址值。 int *p1, *p2, *p。a1。a2。 p=p1。 p2=p。 } 11 a1 22 a2 不定 p1 不定 p2 不定 p amp。a2 *p1 *p2 amp。 int *p1, *p2。a1。a2。 t=*p1。 *p2=t。 } 11 a1 22 a2 不定 t 不定 p1 不定 p2 amp。a2 *p2 11 22 11交換兩個(gè)指針變量所指向變量的值 反映了指針變量的引用方法: ①、將變量的地址賦給指針變量 (p1=amp。運(yùn)算符的進(jìn)一步說(shuō)明: ①、若有: p1=amp。 則 *p1等價(jià)于 a; amp。(*p1) amp。a *(amp。 include swap(int x, int y) { int temp。 x=y。 } main( ) { int a, b。 scanf(%d%d, amp。b)。 printf(max=%d, min=%d\n, a, b)。 即: 主調(diào)函數(shù)可以將實(shí)參的值傳遞給被調(diào)函數(shù)的形參,但不能通過(guò)改變形參的值而改變實(shí)參的值。 temp=*px。 *py=temp。 printf(\nInput a, b: )。a, amp。 p1=amp。 p2=amp。 if (ab) swap(p1, p2)。 } 5 a 8 b amp。b p2 不定 px 不定 py amp。b 8 58 a 5 b amp。b p2 include void swap(int *px, int *py) { int *temp。 *px=*py。 } void main( ) { int a, b, *p1, *p2。 scanf(%d%d, amp。b)。a。b。 printf(max=%d, min=%d\n, a, b)。因此,對(duì) *temp賦值可能會(huì)破壞系統(tǒng)的正常工作狀況。 include void swap(int *px, int *py) { int *p。 px=py。 } void main( ) { int a, b, *p1, *p2。 scanf(%d%d, amp。b)。a。b。 printf(max=%d, min=%d\n, a, b)。a p1 amp。a amp。a p1 amp。 指針與數(shù)組 指向數(shù)組元素的指針變量 幾個(gè)概念 ①、一個(gè)變量有地址,稱變量的地址為該變量的 指針 ; ②、每個(gè)數(shù)組都有一個(gè)起始地址,數(shù)組的起始地址稱為 數(shù)組的指針 ; ③、一個(gè)數(shù)組包含若干元素,每個(gè)數(shù)組元素都在內(nèi)存中占用一定的存儲(chǔ)單元,即都有相應(yīng)的地址,數(shù)組元素的地址稱為 數(shù)組元素的指針 ; ④、指針變量可以指向變量,當(dāng)然也可以指向數(shù)組和數(shù)組元素; ⑤、 數(shù)組元素的指針變量 就是專門用來(lái)存放數(shù)組元素地址的變量。 int *p。 a[0] a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] a 不定 p 賦值: p=amp。 amp。a[0]。 ②、定義時(shí)可以進(jìn)行初始化: int *p=amp。 int *p。a[0]。 *p=amp。 int *p=a。 p=a。 a[0]=5。a[3]。 a[3]=5。 對(duì)于指向 整型數(shù)組 的指針變量 p, p+1意味著使 p在原值的基礎(chǔ)上加 2個(gè)字節(jié) ,以使它指向下一元素; ②、 float x[10], *p=x。 在使用指針變量引用數(shù)組時(shí),應(yīng)注意以下問(wèn)題: ①、給指針賦初值的方法: p=a。a[0]。a[1]); 則 p+i或 a+i表示數(shù)組的第 i個(gè)元素的地址 (amp。 綜上,可以用兩種方法來(lái)引用一個(gè)數(shù)組元素: ①、 下標(biāo)法 :用 a[i]或 p[i]來(lái)引用數(shù)組 a中的第 i號(hào)元素; ②、 指針?lè)?:用 *(p+i)或 *(a+i)來(lái)引用數(shù)組中的第 i號(hào)元素; 可見(jiàn): 任何由數(shù)組下標(biāo)完成的操作都能由指針來(lái)實(shí)現(xiàn) ; a[i] *(p+i) amp。 p(a+10)。 ②、在程序運(yùn)行期間,要始終注意指針變量當(dāng)前所指向的是哪一個(gè)元素 。 Ⅰ 、 p++。 Ⅱ 、 *p++。 for (i=0,p=a。 i++) printf(%4d, *p++)。 swap(a[1], a[2])。 f(a, 10)。用數(shù)組名作實(shí)參,調(diào)用函數(shù)時(shí)是把數(shù)組首地址傳遞給形參,而不是把數(shù)組的值傳給形參。 f(int *x, int n)。 變量名與數(shù)組名作函數(shù)參數(shù)時(shí)的比較: 實(shí)參類型 變量名 數(shù)組名 要求形參的類型 傳遞的信息 能否改變實(shí)參的值 變量名 變量的值 不能 數(shù)組名或指針變量 數(shù)組的起始地址 能 需要說(shuō)明的是: C語(yǔ)言的函數(shù)調(diào)用都是采用“值傳遞”方式;當(dāng)用變量名作函數(shù)參數(shù)時(shí)傳遞的是變量的值;用數(shù)組名作函數(shù)參數(shù)時(shí),由于數(shù)組名代表的是數(shù)組首地址,因此傳遞的是數(shù)組首地址,所以要求形參為指針變量。 main() { int a[10], *p=a, i。 i10。 /*使用指針變量來(lái)輸入數(shù) 組元素的值 */ for(i=0。 i++) printf(“%d ”, *(p+i))。 } 程序說(shuō)明 : 程序中的 2個(gè) for語(yǔ)句 , 等價(jià)于下面的程序段: for(i=0。 i++,p++) scanf(“%d”,p)。 /*使 p重新指向數(shù)組的第一個(gè)元素 */ for(i=0。 i++,p++) printf(“%d”,*p)?!毙?, 程序運(yùn)行結(jié)果會(huì)如何 ? 請(qǐng)上機(jī)驗(yàn)證 。 float t。 in1。 jn。 b[i]=b[j]。} }} 例 將 n個(gè)數(shù)按從大到小排序 main( ) {int i。 for(i=0。 i++) scanf(“%f”, amp。 sort(a, 10)。 i10。 printf(“\n”)。 float t。 in1。 jn。 *(p+i)=*(p+j)。} } }
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1