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

正文內(nèi)容

c語(yǔ)言:第09章__指針-文庫(kù)吧

2025-07-17 16:08 本頁(yè)面


【正文】 類型數(shù)據(jù)的指針變 量 例 char *p1。 void *p2。 p1=(char *)p2。 p2=(void *)p1。 語(yǔ)言程序設(shè)計(jì)教程 第二版 第九章 指 針 C 引用指針變量 int a。 int *p = amp。a。 // p指向 a *p = 10。 // 相當(dāng)于 a = 10。 格式: *指針變量 int a, *p。 p = amp。a。 *p = 10。 a++。 printf (a = %d, *p = %d, a, *p)。 輸出結(jié)果: a = 11, *p = 11 可寫(xiě)成 (*p)++,而不是 *p++ 注意: 程序在利用指針間接引用內(nèi)存單元時(shí),將按照指針變量定義時(shí)所指向的數(shù)據(jù)類型來(lái)解釋引用的內(nèi)存單元。 語(yǔ)言程序設(shè)計(jì)教程 第二版 第九章 指 針 C 【 例 1】 不同類型的指針操作同一內(nèi)存變量 include void main ( ) { unsigned short a。 unsigned short *pi = amp。a。 char *pc = (char *)amp。a。 *pi = 0XF0F0。 *pc = 0。 printf (a = %X, a)。 } … …... 2022 …... …... 整型變量 a 指針變量 pi 2022 pi可操作單元 指針變量 pc 2022 pc可操作單元 F0 F0 00輸出結(jié)果: a = F000 語(yǔ)言程序設(shè)計(jì)教程 第二版 第九章 指 針 C 【 例 2】 輸入兩個(gè)數(shù),并使其從大到小輸出 include void main ( ) { int *p1,*p2,*p, a, b。 scanf (%d,%d, amp。a, amp。b)。 p1 = amp。a。 p2 = amp。b。 if (a b) { p = p1。 p1 = p2。 p2 = p。 } printf (a = %d, b = %d\n, a, b)。 printf (max = %d, min = %d\n, *p1, *p2)。 } 運(yùn)行結(jié)果: a=5, b=9 max=9, min=5 …... …... 指針變量 p1 指針變量 p 2022 2022 2022 2022 2022 指針變量 p2 整型變量 b 整型變量 a 5 2022 9 2022 2022 20222022重點(diǎn)強(qiáng)調(diào): ?指針變量必須 先定義,后賦值,最后才能使用 !沒(méi)有賦值的指針變量是沒(méi)有任何意義的,也絕對(duì)是不允許使用的。 ?指針變量只能指向定義時(shí)所規(guī)定類型的變量。 ?指針變量也是變量,在內(nèi)存中也要占用一定的內(nèi)存單元,但所有類型的指針變量都占用同樣大小的內(nèi)存單元,其具體大小取決于所使用的編譯環(huán)境,如 在 和 4個(gè)字節(jié),在 2個(gè)字節(jié) 。 語(yǔ)言程序設(shè)計(jì)教程 第二版 第九章 指 針 C 指針變量的加、減運(yùn)算 指針和地址運(yùn)算 指針可以參與加法和減法運(yùn)算,但其加、減的含義絕對(duì)不同于一般數(shù)值的加減運(yùn)算。如果指針 p是這樣定義的:ptype *p; ,并且 p當(dāng)前的值是 ADDR,那么: p 177。 n 的值 = ADDR 177。 n * sizeof( ptype) int *pi。 char *pc。 long *pl。 pi = (int *) 1000; pc = (char *) 1000。 pl = (long *) 1000。 pi++。 //pi的值將是 1002 (假設(shè) int型占 2byte) pi = 2。 // pi的值將是 998 pc++。 // pc的值將是 1001 pc = 2。 // pc的值將是 999 pl++。 // pl的值將是 1004 pl = 2。 // pi的值將是 996 注意: 兩個(gè)指針相加沒(méi)有任何意義,但兩個(gè)指針相減則有一定的意義,可表示兩指針之間所相差的內(nèi)存單元數(shù)或元素的個(gè)數(shù),在后面的學(xué)習(xí)中就會(huì)體會(huì)到。 語(yǔ)言程序設(shè)計(jì)教程 第二版 第九章 指 針 C 指針變量的關(guān)系運(yùn)算 ? 若 p1和 p2指向同一數(shù)組,則 ? p1p2 表示 p1指的元素在前 ? p1p2 表示 p1指的元素在后 ? p1==p2 表示 p1與 p2指向同一元素 ? 若 p1與 p2不指向同一數(shù)組,比較無(wú)意義 ? p==NULL或 p!=NULL 語(yǔ)言程序設(shè)計(jì)教程 第二版 第九章 指 針 C 數(shù)組的指針 指針與數(shù)組 數(shù)組的指針 其實(shí)就是 數(shù)組在內(nèi)存中的起始地址 。而數(shù)組在內(nèi)存中的起始地址就是數(shù)組變量名,也就是數(shù)組第一個(gè)元素在內(nèi)存中的地址。 a 2022 2022 2022 2022 …... …... a[0] a[1] a[2] a[9] a a+1 a+2 a+9 …… 例: short int a[10]。 int a[10]。 int k。 for (k = 0。 k 10。 k++) a[k] = k。 //利用數(shù)組下標(biāo) int a[10]。 int k。 for (k = 0。 k 10。 k++) *(a+k) = k。 //利用數(shù)組的指針 注意: a+k amp。a[k] *(a+k) a[k] 語(yǔ)言程序設(shè)計(jì)教程 第二版 第九章 指 針 C 指向數(shù)組的指針變量 指針與數(shù)組 如果將數(shù)組的起始地址賦給某個(gè)指針變量,那么該指針變量就是 指向數(shù)組的指針變量 。 例: short int a[10], p = a。 p 2022 2022 2022 2022 …... a a+1 a+2 a+9 …… …... a[0] a[1] a[2] a[9] 2022 p p+1 p+2 p+9 …… *a *(a+1) *(a+2) *(a+9) …… *p *(p+1) *(p+2) *(p+9) …… p[0] p[1] p[2] p[9] …… 地址 元素 注意: p + 1指向數(shù)組的下一個(gè)元素,而不是簡(jiǎn)單地使指針變量 p的值 +1。其實(shí)際變化為 p+1*size(size為一個(gè)元素占用的字節(jié)數(shù) )。例如,假設(shè)指針變量 p的當(dāng)前值為2022,則 p+1為 2022+1*2=2022,而不是 2022。 語(yǔ)言程序設(shè)計(jì)教程 第二版 第九章 指 針 C char str[10]。 int k。 for (k = 0。 k 10。 k++) str[k] = 39。A39。 + k。 //也可寫(xiě)成 *(str+k) = 39。A39。 + k char str[10]。 int k。 char *p。 p = str。 for (k = 0。 k 10。 k++) p[k] = 39。A39。 + k。 //也可寫(xiě)成 *(p+k) = 39。A39。 + k char str[10]。 int k。 char *p。 p = str。 for (k = 0。 k 10。 k++) *p++ = 39。A39。 + k。 //相當(dāng)于 *p = 39。A39。 + k。 p++。 下面是對(duì)數(shù)組元素賦值的幾種方法,它們從功能上是等價(jià)的 執(zhí)行完后, p仍然指向數(shù)組 str的首地址 執(zhí)行完后, p指向數(shù)組元素 str[9]的下一內(nèi)存單元 注意: 數(shù)組名是地址常量,切不可對(duì)其賦值,也不可做 ++或 運(yùn)算。例如: int a[10]。如果在程序中出現(xiàn) a++或a則是錯(cuò)誤的。 語(yǔ)言程序設(shè)計(jì)教程 第二版 第九章 指 針 C a[0] a[1] a[2] a[3] a[4] 【 例 】 數(shù)組元素的引用方法 void main( ) { int a[5], *pa, i。 for (i = 0。 i 5。 i++) a[i]=i+1。 pa = a。 for (i = 0。 i 5。 i++) printf (*(pa+%d):%d\n, i, *(pa+i))。 for (i = 0。 i 5。 i++) printf (*(a+%d):%d\n, i, *(a+i))。 for (i = 0。 i 5。 i++) printf (pa[%d]:%d\n, i, pa[i])。 for (i = 0。 i 5。 i++) printf(a[%d]:%d\n, i, a[i])。 } 1 2 3 4 5 pa 語(yǔ)言程序設(shè)計(jì)教程 第二版 第九章 指 針 C 例 : int a[ ] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }, *p = a, i。 數(shù)組元素地址的正確表示: ( A) amp。(a+1) ( B) a++ ( C) amp。p ( D) amp。p[i] ? 數(shù)組名是 地址常量 p++,p (?) a++,a (?) a+1, *(a+2) (?) 例: 注意指針變量的運(yùn)算 void main() { int a[ ] = {5, 8, 7, 6, 2, 7, 3}。 int y, *p = amp。a[1]。 y = (*p)++。 printf (“%d ”, y)。 printf (“%d”, a[0])。 } 5 8 7 6 2 7 3 0 1 2 3 4 5 6 a p p 6輸出結(jié)果: 5 6 語(yǔ)言程序設(shè)計(jì)教程 第二版 第九章 指 針 C void main ( ) { int i, *p, a[7]。 p = a。 for (i = 0。 i 7。 i++) scanf (%d, p++)。 printf (\n)。 for (i = 0。 i 7。 i++, p++) printf (%d,*p)。 } 例 注意指針的當(dāng)前值 p=a。 p p 5 8 7 6 2 7 3 0 1 2 3 4 5 6 a p p p p p p 指針變量可以指到 數(shù)組后 的內(nèi)存單元 語(yǔ)言程序設(shè)計(jì)教程 第二版 第九章 指 針 C include void main ( ) { short int a[2][3] = {{1, 2, 3}, {4, 5, 6}}。
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1