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

正文內(nèi)容

[政史地]數(shù)組類型與指針類型_m-資料下載頁

2025-10-05 06:52本頁面
  

【正文】 結(jié)果 amp。p1的結(jié)果是指針變量 p1的地址,因此可以使用指針格式符 %p來顯示。由于該地址的基類型是指針類型,因此該地址是二級指針,即指向的內(nèi)存單元是指針類型。該指針不能賦值給指針變量 p2,因為 p2的基類型是整型而不是指針類型。 【 例 】 請給出下面程序的運行結(jié)果。 include void main() { int i=50,j=60,*p,*p1=amp。i,*p2=amp。j。 if(ij) { p=p1。p1=p2。p2=p。 } printf(%d%d\n,i,j)。 printf(%d%d\n,*p1,*p2)。 } 運行結(jié)果如下: 5060 6050 再看幾個示例: int A[10], *p=A, *q, i=5。 ? 1) *p 整型指針變量 p初始化時賦值為一維數(shù)組名 A,即 A數(shù)組中第一元素 A[0]的地址, *p的結(jié)果是間接訪問 p所指向內(nèi)存單元,即 A[0]。 ? 2) *(p+i) 同上, p的結(jié)果是 A[0]的地址, p+i的作用是調(diào)整指針,結(jié)果是數(shù)組元素 A[0]后面排在第 i個位置的數(shù)組元素的地址,即 A[i]的地址, *(p+i)的結(jié)果是間接訪問指針 p+i所指向的內(nèi)存單元 A[i]。 再看幾個示例: int A[10], *p=A, *q, i=5。 ? 3) q=amp。A[i]。 整型變量 i初始化為 5, amp。A[i]的結(jié)果是數(shù)組成員 A[5]的地址, q=amp。A[i]。語句的作用是將 A[5]的地址賦值給指針變量 q。 ? 4) *(q++) 當(dāng)執(zhí)行 q=amp。A[i]。語句后 如前 3)所述,指針變量 q通過賦值得到了 A[5]的地址,q++的結(jié)果是 q加 1之前的地址值,仍然是 A[5]的地址,*(q++)的結(jié)果是間接訪問指針 q++所指向的內(nèi)存單元A[5]。最后 指針變量 q會由于 ++運算增 1指向 A[6]的地址,但這不會影響 *(q++)的結(jié)果。 再看幾個示例: int A[10], *p=A, *q, i=5。 ? 5) *(++q) 當(dāng)執(zhí)行 q=amp。A[i]。語句后 如前 3)所述,指針變量 q通過賦值得到了 A[5]的地址,++q的結(jié)果是修改 q,使指針變量 q加 1,這時 q指向 A[5]的下一個單元 A[6],所以結(jié)果是 A[6]的地址, *(++q)的結(jié)果是間接訪問指針 ++q所指向的內(nèi)存單元 A[6]。 ? 6) *(A+i) 數(shù)組名 A表示了數(shù)組中第一元素的地址,即 A[0]的地址,A+i是指針操作,結(jié)果是數(shù)組中 A[0]元素之后排在第 i個位置的數(shù)組元素的地址,即 A[i]的地址, *(A+i)的結(jié)果是間接訪問指針 A+i所指向的內(nèi)存單元 A[i]。 再看幾個示例: int A[10], *p=A, *q, i=5。 ? 7) p[i] 指針變量名 p后跟下標(biāo)操作是一種合法的操作,表示間接訪問指針 p+i所指向的內(nèi)存空間,由于 p初始化為 A[0]的地址, p+i的結(jié)果是 A[0]后第 i個數(shù)組成員 A[i]的地址,因此, p[i]的結(jié)果是間接訪問數(shù)組成員 A[i]。 指針作為參數(shù) ? 地址傳遞方式是將實參指針賦值給形參指針變量,形參指針變量和實參指針?biāo)赶虻膬?nèi)存單元是同一個,通過間接訪問形參指針變量就能使用該內(nèi)存單元,數(shù)組類型的函數(shù)參數(shù)采用這種傳遞方式。 ? 使用指針變量作為函數(shù)參數(shù)可以修改主程序中的內(nèi)存單元,通過這種方式可以使函數(shù)返回多個值,方便了函數(shù)的使用。 ? 如果修改的主程序中的內(nèi)存單元是指針類型的,則函數(shù)參數(shù)需要使用二級指針形參。 ? 函數(shù)的返回值也可以是指針,指針?biāo)赶虻膯卧仨氃诤瘮?shù)調(diào)用結(jié)束后仍然存在,不要返回函數(shù)中建立的局部變量的地址。 【 例 】 指針參數(shù)的使用。 include void swap(int *p1,int *p2) /* 注意 1 */ { int temp。 temp=*p1。 *p1=*p2。 *p2=temp。 } void main() { int i=50,j=60。 if(ij) swap(amp。i,amp。j)。 /* 注意 2 */ printf(%d %d \n,i,j)。 } 指針數(shù)組 (理解) 講完了數(shù)組與指針, 我們來理解一下什么是指針數(shù)組 一個數(shù)組的元素都是指針型 , 則稱為指針數(shù)組 。 指針數(shù)組的定義形式為: 類型名 *數(shù)組名 [數(shù)組長度 ]; 例如: int *p[4]。 【 例 】 有若干個字符串,輸出其中最長的字符串。 include main() { char *p[]={teacher,book,pascal,hello, and,puter design}。 char *q。 int i。 q=p[0]。 for(i=1。i6。i++) if(strlen(p[i])strlen(q)) q=p[i]。 printf(%s\n,q)。 } 函數(shù)指針 (了解) 函數(shù)指針是指函數(shù)代碼在內(nèi)存中的開始地址。 函數(shù)名就是一種函數(shù)指針,在函數(shù)名后跟一對園括號界定的若干個實際參數(shù)就可以從函數(shù)代碼的開始地址執(zhí)行函數(shù),稱為函數(shù)的調(diào)用 . ? 函數(shù)指針變量的定義 返回值類型 (* 函數(shù)指針變量名 )([參數(shù)類型表 ])。 ? 說明: 參數(shù)類型表可以省略,表示該函數(shù)指針變量是無參的,這種參數(shù)格式的函數(shù)指針變量可以接收任意參數(shù)格式的函數(shù)指針,即對函數(shù)的參數(shù)個數(shù)、順序及類型均沒有要求。 返回值類型可以是 void表示無返回值。 【 例 】 函數(shù)指針變量的使用。 include int max(int x, int y) { int temp。 if(xy) temp=x。 else temp=y。 return(temp)。 } void main() { int(*pmax)(int,int)。 /* 注意 1:定義函數(shù)指針變量 */ int i=50,j=60。 pmax=max。 /* 注意 2 */ printf(%d\n,(*pmax)(i,j))。 /* 注意 3 */ }
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1