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

正文內(nèi)容

c程序設(shè)計電子教案(下)ppt-wenkub

2022-12-22 21:48:35 本頁面
 

【正文】 指針與數(shù)組 167。 int array[10], *pointer。 例 將數(shù)從大到小輸出 …... 2022 2022 200A 2022 2022 2022 200C 200E 2022 ... 5 9 整型變量 a 整型變量 b (main) 指針 pointer_1 指針 pointer_2 2022 2022 9 9 2022 2022 COPY (swap) 指針 p1 指針 p2 指針 p **** 假設(shè) 2022 指針變量在使用前 必須賦值! 數(shù)組在內(nèi)存中,每一個數(shù)組元素都有一個固定的地址,這個地址可以用指針變量來進(jìn)行操作。 } 運(yùn)行結(jié)果: 9, 9 編譯警告! 結(jié)果不對! int x。 pointer_2=amp。a,amp。 *p2=*p。 printf(\n%d,%d\n,a,b)。a。 scanf(%d,%d,amp。 *p1=*p2。 if(ab) swap(a,b)。 } main() { int a,b。 } 運(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 2022 2022 ?指針變量作為函數(shù)參數(shù) ——值傳遞 特點(diǎn): 不共享內(nèi)存 swap(int x,int y) { int temp。 p1=p2。a。 scanf(%d,%d,amp。 } 運(yùn)行結(jié)果: a:10 *pa:10 amp。 printf(pa:%x(hex)\n,pa)。 printf(*pa:%d\n,*pa)。 int *pa=amp。 移動后的實際地址為: p 177。 p1=amp。i) i_pointer = amp。i_pointer指針變量占用內(nèi)存的地址 2022 10 i_pointer *i_pointer amp。 則 amp。 3)第 2行, “ amp。num。 表示不指定 p是指向哪一種 類型數(shù)據(jù)的指針變 量 指針變量是一種特殊的變量,變量中存放的不是某種數(shù)據(jù)類型的數(shù)據(jù),而是另一個變量或常量的地址。 ?使用時要進(jìn)行 強(qiáng)制類型轉(zhuǎn)換 例 char *p1。 printf(“%d”,*p)。 int *p。 int *p。 用已初始化指針變量作初值 例 main( ) { int i。 例 int i。i。 注意: int *p1, *p2。 *i_pointer=3 167。 間接訪問 20 兩種訪問方式: 相當(dāng)于某人甲(系統(tǒng))要找某人乙(變量)來類比,有兩種方法: ( 1)甲知道乙在何處,直接去找就是(即直接訪問)。 float k。 內(nèi)存區(qū)的每一個字節(jié)有一個編號,這就是“ 地址 ” 。計算機(jī)基礎(chǔ)教研室 第 8 章 指 針 重慶工學(xué)院計算機(jī)學(xué)院 第 8 章 指針 C程序設(shè)計中使用指針可以 : ?使程序簡潔、緊湊、高效 ?有效地表示復(fù)雜的數(shù)據(jù)結(jié)構(gòu) ?動態(tài)分配內(nèi)存 ?得到多于一個的函數(shù)返回值 指針是一種特殊的數(shù)據(jù)類型; 指針概念是 C語言中較難理解和較難掌握的概念。如果在程序中定義了一個變量,在對程序進(jìn)行編譯時,系統(tǒng)就會給這個變量分配內(nèi)存單元。 內(nèi)存中每個字節(jié)有一個編號 地址 …... …... 2022 2022 2022 2022 內(nèi)存 0 2022 i k 編譯或函數(shù)調(diào)用時為其分配內(nèi)存單元 變量 是對程序中數(shù)據(jù) 存儲空間的抽象 …... …... 2022 2022 2022 2022 整型變量 i 10 變量 i_pointer 2022 2022 2022 ?指針與指針變量 ?指針:一個變量的地址 ?指針變量:專門存放變量地址的變量 在C語言中,指針是一種特殊的變量,它是存放地址的。 ( 2)甲不知道乙在哪,但丙(指針變量)知道,此時甲可以這么做:先找丙,從丙處獲得乙的去向,然后再找乙(即間接訪問)。 指針變量的定義和引用 ?指針變量的定義 ?一般形式: [存儲類型 ] 數(shù)據(jù)類型 *指針名; 合法標(biāo)識符 指針變量本身的存儲類型 指針的目標(biāo)變量的數(shù)據(jù)類型 表示定義指針變量 不是‘ *’運(yùn)算符 例 int *p1,*p2。 與 int *p1, p2。 變量必須 已說明過 類型 應(yīng)一致 例 int *p=amp。 int *p=amp。 static int *p=amp。 *p=i。 p=amp。 } 指針變量必須 先賦值 ,再使用 . …... …... 2022 2022 2022 2022 整型變量 i 10 指針變量 p 2022 2022 2022 隨機(jī) ?零指針與空類型指針 ?零指針: (空指針 ) ?定義 :指針變量值為零 ?表示: int * p=0。 void *p2。 指針變量的操作主要包括: ( 1)取地址運(yùn)算? amp。 3行 *pn=100。”作為取 num變量的地址 其中: “ amp。(*ptr) 表示指針 ptr *(amp。i_pointer i i_pointer amp。i = amp。x。 n*sizeof(數(shù)據(jù)類型 ) ( 3)指針的關(guān)系運(yùn)算 指向同種數(shù)據(jù)類型的指針可作關(guān)系運(yùn)算,表示它們所存放的地址之間的關(guān)系。a。 printf(amp。 printf(amp。a:f86(hex) pa:f86(hex) amp。a,amp。 p2=amp。 p2=p。 temp=x。 scanf(%d,%d,amp。 printf(\n%d,%d\n,a,b)。 *p2=p。a,amp。 pointer_2=amp。 } …... 2022 2022 200A 2022 2022 2022 200C 200E 2022 ... 5 9 整型變量 a 整型變量 b (main) 指針 pointer_1 指針 pointer_2 2022 2022 (swap) 指針 p1 指針 p2 整型 p 5 9 2022 2022 COPY 5 例 將數(shù)從大到小輸出 ——地址傳遞, 共享內(nèi)存 ,“雙向 ” 傳遞 地址傳遞 運(yùn)行結(jié)果: 9, 5 swap(int *p1, int *p2) { int *p。 } main() { int a,b。b)。b。 int *p=amp。 數(shù)組中指針的概念: 數(shù)組的指針 ── 數(shù)組在內(nèi)存中的起始地址; 數(shù)組元素的指針 ── 數(shù)組元素在內(nèi)存中的起始地址 指向數(shù)組的指針變量的定義 int array[10], *pointer=array。 pointer= array。 指向數(shù)組元素的指針變量 例 int array[10]。 //? p=array。 array[0] array[1] array[2] array[3] array[9] ... 整型指針 p amp。 (將數(shù)組 array首地址 ?p) ?p=amp。 p=1000。 則 p+1 指向 a[1] 例 int a[10]。 *p=1。 int *p2=amp。 for(i=0。 for(i=0。i5。i++) printf(pa[%d]:%d\n,i,pa[i])。 } 1 2 3 4 5 pa 例 int a[]={1,2,3,4,5,6,7,8,9,10},*p=a,i。p[i] ? 數(shù)組名是 地址常量 p++,p (?) a++,a (?) a+1, *(a+2) (?) 例 void main() { int a []={5,8,7,6,2,7,3}。 printf(“%d ”,y)。 for(i=0。 for(i=0。 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)存單元 ?數(shù)組名作函數(shù)參數(shù) ?數(shù)組名作函數(shù)參數(shù),是 地址傳遞 ?數(shù)組名作函數(shù)參數(shù),實參與形參的對應(yīng)關(guān)系 實參 形參 數(shù)組名 指針變量 數(shù)組名 指針變量 數(shù)組名 數(shù)組名 指針變量 指針變量 例 將數(shù)組 a中的 n個整數(shù)按相反順序存放 i j 3 7 9 11 0 6 7 5 4 2 0 1 2 3 4 5 6 7 8 9 i j i j i j j i 11 7 6 0 5 9 4 7 2 3 實參與形參均用數(shù)組 void inv(int x[], int n) { int t,i,j,m=(n1)/2。 t=x[i]。 inv(a,10)。i++) printf(%d,a[i])。 j=x+n1。i++,j) { t=*i。 inv(a,10)。i++) printf(%d,a[i])。 j=x+n1。i++,j) { t=*i。 for(i=0。 inv(p,10)。p++) printf(%d,*p)。i++) { j=n1i。 } } main() { int i,a[10],*p=a。 p=a。parr+10。 ?系統(tǒng)只給 p分配能保存一個指針值的內(nèi)存區(qū) (一般 2字節(jié));而給q分配 2*10字節(jié)的內(nèi)存區(qū) ?指針與二維數(shù)組 ?二維數(shù)組的地址 對于一維數(shù)組 : ( 1)數(shù)組名 array表示數(shù)組的首地址 即 : array[0]的地址; ( 2)數(shù)組名 array是地址 常量 ( 3) array+i是元素 array[i]的地址 ( 4) array[i] ? *(array+i) array int array[10]。a[i][0], 值相等,含義不同 ?a+i ? amp。 a[0][0] a[0][1] a[1][0] a[1][1] a[2][0] a[2][1] a[0][2] a[0][3] a[1][2] a[1][3] a[2][2] a[2][3] 二維數(shù)組元素表示形式: ( 1) a[1][2] ( 2) *(a[1]+2) ( 3) *(*(a+1)+2) ( 4) *(amp。a[0][0]+1*4+2 表示形式 含義 地址 a 二維數(shù)組名,數(shù)組首地址 a[0],*(a+0),*a 第 0行第 0列元素地址 a+1 第 1行首地址 a[1],*(a+1) 第 1行第 0列元素地址 a[1]+2,*(a+1)+2,amp。pa[0]+12。 p=amp。 int a[3][4]。 int a[3][4]。i3。 printf(\n)。a[0][0]。 a[0][0] a[0][1] a[1][0] a[1][1] a[2][0] a[2][1] a[0][2] a[0][3] a[1][2] a[1][3] a[2][2]
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1