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

正文內(nèi)容

[it認(rèn)證]c語(yǔ)言第11講指針-資料下載頁(yè)

2025-01-19 08:44本頁(yè)面
  

【正文】 a[i]+j表示地址: a[i]是第 i行 首元素的地址 。 a[0]+1表示第 0行第 1列元素的地址; amp。a[0][1] a[0]+2表示第 0行第 2列元素的地址; amp。a[0][2] a[2]+3表示第 2行第 3列元素的地址; amp。a[2][3] 第 i行第 j列元素的地址 (amp。a[i][j]); *(a+i)表示地址: *(a+i)等價(jià)于 a[i] 第 i行首元素的地址 *(a+i)+j表示地址: *(a+i)+j等價(jià)于 a[i]+j 第 i行第 j列元素的地址 數(shù)組元素 a[i][j]的表示: a[i]+j *( ) *(a+i) +j *( ) *(a+i) ( ) [j] 若 i=0, a[0][j]可表示為: *(a[0]+j)、 *(*a+j)、 (*a)[j] 若 j=0, a[i][0]可表示為: *(a[i])、 *(*(a+i))、 (*(a+i))[0] (a+i)與 *(a+i)的比較: (a+i)等價(jià)于 amp。a[i] *(a+i)等價(jià)于 a[i] ①、都表示地址: a+i表示第 i行的地址 (行 指針 ), *(a+i)表示第 i行 首元素 的地址 ②、它們指向的數(shù)據(jù)類(lèi)型不同: a+i指向一個(gè)一維數(shù)組 (二維數(shù)組的一行、行指針 ); *(a+i)指向數(shù)組元素; 若進(jìn)行操作: (a+i)+1: 使指針移動(dòng)一維數(shù)組所占字節(jié)總數(shù) (一行、 8字節(jié) ) *(a+i)+1: 使指針移動(dòng)一個(gè)數(shù)組元素所占內(nèi)存字節(jié)總數(shù) (2字節(jié) ) 對(duì) a[i]性質(zhì)的進(jìn)一步說(shuō)明: a[i]從形式上看是 a數(shù)組中第 i個(gè)元素。 如果 a是一維數(shù)組名,則 a[i]代表 a數(shù)組第 i個(gè)元素所占的內(nèi)存單元。 a[i]是有物理地址的,占內(nèi)存單元。 如果 a是二維數(shù)組,則 a[i]代表一維數(shù)組名。 a[i]本身并不占實(shí)際的內(nèi)存單元,它也不存放 a數(shù)組中各個(gè)元素的值;它只是一個(gè)地址。 a、 a+i、 a[i]、 *(a+i)、 *(a+i)+j、 a[i]+j都是地址,*(a[i]+j)、 *(*(a+i)+j)是二維數(shù)組元素 a[i][j]的值。 關(guān)于 amp。a[i]的說(shuō)明: ①、不要把 amp。a[i]簡(jiǎn)單的理解為 a[i]單元的物理地址,因?yàn)椴⒉淮嬖?a[i]這個(gè)變量。它只是一種地址的計(jì)算方法,能得到第 i行的首地址; ②、 amp。a[i]和 a[i]的值是一樣的,但它們的含義不同: amp。a[i]或 a+i指向行,而 a[i]或 *(a+i)指向列。 當(dāng)列下標(biāo) j為 0時(shí), amp。a[i]和 a[i](即 a[i]+j)值相等,即指向同一位置。 ③、 *(a+i)只是 a[i]的另一種表示形式,不要簡(jiǎn)單的認(rèn)為是“ a+i所指單元的內(nèi)容”。 對(duì)于二維數(shù)組: a+i=a[i]=*(a+i)=amp。a[i]=amp。a[i][0], 它們的地址相等。 例:輸出二維數(shù)組有關(guān)的值。 二、 指向多維數(shù)組的指針變量 指向數(shù)組元素的指針變量 與指向一維數(shù)組元素的指針變量一樣,它用來(lái)專(zhuān)門(mén)存放某個(gè)數(shù)組元素的內(nèi)存地址。或者說(shuō),用于指向某個(gè)數(shù)組元素,定義方法與指向某種類(lèi)型變量的指針變量一樣。 指向一維數(shù)組的指針變量 定義: 類(lèi)型名 (*指針變量名 )[n] 如: int (*p)[4] int a[3][4]。 ①、 *p有 4個(gè)元素,每個(gè)元素為整型;即 p所指的對(duì)象是有4個(gè)整型元素的數(shù)組。 p為 行指針 (a+i)。 ②、 p只能指向一個(gè)包含 4個(gè)元素的一維數(shù)組, p的值就是該一維數(shù)組的首地址。 p不能指向一維數(shù)組中的元素 ; ③、 p+i表示二維數(shù)組中第 i行的地址; *(p+i)+j表示第 i行第 j列元素的地址; *(*(p+i)+j)即數(shù)組元素 a[i][j]。 例:輸出二維數(shù)組中任一行任一列元素的值。 scanf(%d%d, amp。i, amp。j)。 printf(a[%d][%d]=%d\n, i, j, *(*(p+i)+j) )。 通過(guò)指針在函數(shù)間傳遞多維數(shù)組 用數(shù)組名作實(shí)參,則是將二維數(shù)組首行的指針常量 (二維數(shù)組名 )傳遞給了作為函數(shù)形參的指針變量,該指針變量就指向了二維數(shù)組的第 0行。 例:求 3行 4列二維數(shù)組中的最大元素。 方法一、 int max_value(int (*pa)[4], int n) { int m=pa[0][0]。 for (i=0。 in。 i++) for (j=0。 j4。 j++) if (mpa[i][j]) m=pa[i][j]。 return(m)。 } (*(pa+i)+j) (*(pa+i))[j] int max_value(int pb[ ][4], int n) int max_value(int [ ][4], int ) int max_value(int (*)[4], int ) 方法二 、 int max_value(int *p, int n) { int m=*p。 for (i=0。 in。 i++, p++) if (*pm) m=*p。 return(m)。 } 比較: int (*pa)[4] int *pb[4] int (*pa)[4] pa為數(shù)組指針,行指針 ,是指針變量, 表示二維數(shù)組每一 行 的 地址 。數(shù)組元素的值為數(shù)據(jù)。 如: int (*pa)[4],a[3][4]。 pa=a。 則: pa[0][0]=a[0][0] pa+1表示為 a[1]的這行地址即 (a+1) int *pb[4] pb為指針數(shù)組,是數(shù)組名, 表示一維數(shù)組的首地址 。數(shù)組元素的值為 元素指針 。 P153 如: int *pb[4], a[3][4]。 pb=a。 則: pb[0]=amp。a[0][0] 為第 0行第 0個(gè)元素的地址 pb[1]=amp。a[1][0] 為第 1行第 0個(gè)元素的地址 指針數(shù)組一般用于表示多個(gè)字符串的每個(gè)字符串的首地址。 如: char *sa[2]={ “how are you?”, “I an a student” } 167。 本章小結(jié) 一、有關(guān)指針的數(shù)據(jù)類(lèi)型: int *p p為指向整型數(shù)據(jù)的指針變量 char *p p為指向字符型數(shù)據(jù)的指針變量 int (*pa)[n] pa為 指向一維數(shù)組的指針變量 (指向具有 n個(gè)元素的一維數(shù)組 ) 指針變量在定義時(shí)必須寫(xiě)成如上形式,但在作函數(shù)形參時(shí)可寫(xiě)成幾種等價(jià)形式: int *p。 可寫(xiě)成: int p[]。 char *cp。 可寫(xiě)成: char cp[]。 int (*pa)[5]。 可寫(xiě)成: int pa[][5]。 二、指針運(yùn)算小結(jié): 指針變量加 (減 )一個(gè)整數(shù) 例如: p++、 p、 p+i、 pi、 p+=i、 p=i等 C語(yǔ)言規(guī)定:一個(gè)指針變量加 (減 )一個(gè)整數(shù)并不是簡(jiǎn)單地將指針變量加 (減 )一個(gè)整數(shù),而是將它所指向的變量所占用的內(nèi)存單元字節(jié)數(shù)相加 (減 )。 p+i p+i*d 指針變量的賦值 int i, a[10], *p, *p1, *p2。 p=amp。i。 p=a。 p2=amp。a[i]。 p1=p2。 注意: ①、 不能把整數(shù)賦值給指針變量; ②、 也不能把指針變量的值賦值給整型變量; 指針變量可以有空值 ,即該指針變量 不指向任何變量 p=NULL。 define NULL 0 注意: ①、 p的值為 NULL與未對(duì) p賦值不同; ②、任何指針變量或地址均可以與 NULL作相等或不等的比較。 if (p==NULL) …… if (p!=NULL) …… 兩個(gè)指針變量可以相減 如果兩個(gè)指針變量 指向同一個(gè)數(shù)組的元素 ,則兩個(gè)指針變量之差是 兩個(gè)指針之間元素的個(gè)數(shù) 。 p1=a+5。 p2=amp。a[1]。 p1p2=4 注意: 兩個(gè)指針變量相加無(wú)實(shí)際意義。 兩個(gè)指針變量的比較 兩個(gè)指針指向同一個(gè)數(shù)組的元素,則可以進(jìn)行比較,指向前面元素的指針變量“小于”指向后面元素的指針變量。 void invert(int x[ ], int n) { int *p1, *p2, t。 p1=x。 p2=x+n1。 for ( 。 p1p2。 p1++, p2) { t=*p1。 *p1=*p2。 *p2=t。 } } p1!=p2 注意: 如果 p1和 p2不指向同一數(shù)組則比較無(wú)意義 。 本章作業(yè)一 定義長(zhǎng)度為 10的整型一維數(shù)組,編寫(xiě)函數(shù)將數(shù)組中的元素按逆序存放,在主函數(shù)中輸出結(jié)果。 ①、實(shí)參和形參都用指針變量 ②、實(shí)參用指針變量,形參用數(shù)組名 編寫(xiě)函數(shù),將字符串 s1中的第 m個(gè)字符開(kāi)始的全部字符復(fù)制成另一個(gè)字符串 s2。 要求在主函數(shù)中輸入字符串 s1及m的值并輸出復(fù)制結(jié)果,在被調(diào)函數(shù)中完成復(fù)制。
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1