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

正文內(nèi)容

c程序設(shè)計(jì)電子教案(下)ppt-預(yù)覽頁

2024-12-31 21:48 上一頁面

下一頁面
 

【正文】 *i_pointer=20。 變量與地址 程序中 : int i。 要明白什么是指針,必須弄清楚數(shù)據(jù)在內(nèi)存中是如何存儲的,又是如何讀取的。 167。 167。 2022 指針 指針變量 變量的 內(nèi)容 變量的 地址 指針變量 變量 變量地址 (指針 ) 變量值 指向 地址存入 指針變量 ?變量的直接訪問與間接訪問 ?直接訪問:按變量地址存取變量值 ?間接訪問:通過存放變量地址的變量去訪問變量 例 i=3。 指針變量 與其 所指向的變量 之間的關(guān)系 ?兩種訪問方式的特點(diǎn) 3 變量 i 2022 i_pointer *i_pointer i *i_pointer amp。 float *q 。 指針變量名是 p1,p2 ,不是 *p1,*p2 指針變量只能指向定義時(shí)所規(guī)定類型的變量 指針變量定義后, 變量值不確定 ,應(yīng)用前必須先賦值 ?指針變量的初始化 一般形式: [存儲類型 ] 數(shù)據(jù)類型 *指針名 =初始地址值 ; 賦給指針變量, 不是賦給目標(biāo)變量 例 int i。i。i。i。 printf(“%d”,*p)。k。 p指向地址為 0的單元 , 系統(tǒng)保證該單元不作它用 表示指針變量值 沒有意義 define NULL 0 int *p=NULL: ?p=NULL與未對 p賦值不同 ?用途 : ?避免指針變量的非法引用 ?在程序中常作為 狀態(tài) 比較 例 int *p。 p1=(char *)p2?!?和取內(nèi)容運(yùn)算? *? 1行 int num, *pn。 等效于 num=100?!焙?“ *” 互為逆運(yùn)算 例如: int x, *ptr=amp。x) 表示變量 x (具體描述見下頁) ?指針變量的引用與操作 ?amp。i amp。(*i_pointer) i = *i_pointer = *(amp。 /*p1指針賦值 */ p2=p1。 可使用的運(yùn)算符: , , = = , != 167。 a=10。a:%x(hex)\n,amp。pa:%x(hex)\n,amp。pa:f88(hex) …... …... f86 f8a f8c f8b 整型變量 a 10 指針變量 pa f87 f88 f89 f86 指針賦值方法: amp。b)。b。} printf(a=%d,b=%d\n,a,b)。 x=y。a,amp。 } 例 將數(shù)從大到小輸出 …... …... 2022 2022 200A 2022 2022 2022 5 變量 a 變量 b (main) 9 變量 temp 變量 y 變量 x (swap) 5 5 9 5 9 COPY 值傳遞 運(yùn)行結(jié)果: 5, 9 swap(int *p1, int *p2) { int p。 } main() { int a,b。b)。b。 *p=*p1。 int *pointer_1,*pointer_2。 pointer_1=amp。 if(ab) swap(pointer_1,pointer_2)。x。 int array[10], *pointer=amp。 數(shù)組名代表數(shù)組在內(nèi)存中的起始地址 (即下標(biāo)為 0的元素的地址),所以可用數(shù)組名給指針變量賦值 數(shù)組元素的引用 既可用下標(biāo)法,也可用指針法。 int *p。 或 int *p=amp。array[0] p 數(shù)組名 是表示數(shù)組 首地 址的 地址常量 ?指針在數(shù)組及其它的運(yùn)算 ?指針變量的賦值運(yùn)算 ?p=amp。array[i]。 (?) i=p。 int *p=amp。 例 int a[10]。a[5]。i5。i5。i++) printf(*(a+%d):%d\n,i,*(a+i))。 for(i=0。 數(shù)組元素地址的正確表示: ( A) amp。 int y,*p=amp。 printf(“%d”,a[0])。i7。i7。 for(i=0。 x[i]=x[j]。 printf(The array has been reverted:\n)。 printf(\n)。 p=x+m。 *i=*j。 printf(The array has been reverted:\n)。 printf(\n)。 p=x+m。 *i=*j。i10。 printf(The array has been reverted:\n)。 } 實(shí)參與形參均用指針變量 例 將數(shù)組 a中的 n個(gè)整數(shù)按相反順序存放 void inv(int x[], int n) { int t,i,j,m=(n1)/2。 t=x[i]。 for(i=0。 inv(p,10)。p++) printf(%d ,*p)。 對于二維數(shù)組: ( 1) a是 數(shù)組名, 包含三個(gè)元素 a[0],a[1],a[2] ( 2) 每個(gè)元素 a[i] 又是一個(gè)一維 數(shù)組,包含 4個(gè) 元素 a a+1 a+2 *(*(a+0)+1) *(a[0]+1) int a[3][4]。a[i],表示第 i行首地址,指向行 ?a[i] ? *(a+i) ? amp。a[0][0]+1*4+2) 地址表示: (1) a+1 (2) amp。a[1][2] 第 1行第 2列元素地址 *(a[1]+2),*(*(a+1)+2),a[1][2] 第 1行第 2列元素值 2022 2022 2022 2022 2022 13 ?二維數(shù)組的指針變量 ?指向二維數(shù)組元素的指針變量 例 指向二維數(shù)組元素的指針變量 main() { static int a[3][4]={1,3,5,7,9,11,13,15,17,19,21,23}。p++) { if((pa[0])%4==0) 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] a[2][3] p ?指向 一維數(shù)組的指針變量 (指向 m個(gè)元素構(gòu)成的一維數(shù)組指針變量) ?定義形式: 數(shù)據(jù)類型 (*指針名 )[一維數(shù)組維數(shù) ]。 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] a a+1 a+2 p p+1 p+2 p[0]+1或 *p+1 p[1]+2或 *(p+1)+2 *(*p+1)或 (*p)[1] *(*(p+1)+2) 一維數(shù)組指針變量維數(shù)和 二維數(shù)組 列數(shù) 必須相同 例 一維數(shù)組指針變量舉例 main() { static int a[3][4]={1,3,5,7,9,11,13,15,17,19,21,23}。i++,p++) for(j=0。 } p=a[0]。 p=amp。 int i。i++) { if(i==0) (*p)[i+i/2]=*q+1。i++) printf(%d,a[i][i])。 int *p2=a[0]。 average(*score,12)。 for(。 printf(average=%\n,aver)。i4。jn。i++) if(*(*(p+j)+i)60) flag=1。i++) printf(% ,*(*(p+j)+i))。 search(score,3)。 printf(“%s\n”,string)。 string+=7。 string=“I love China!”。) { to[i]=from[i]。 } main() { char a[]=I am a teacher.。 printf(\nstring_a=%s\nstring_b=%s\n,a,b)。from++,to++) *to=*from。 char *b=You are a student.。 } ?字符指針變量與字符數(shù)組 char *cp。 (?) char *cp。 (?) 而 char *cp。 scanf(“%s”,cp)。 (?) char *cp=“Hello”。 int a[10],*p。 (?) p={1,2,3,4,5}。 puts(str)。 pb[0]=b[0]。 char b[]=Lisp。 p[1]=b。 p[0]= Fortran。 …….. } 初始化 : main() { char *p[]={Fortran, Lisp, Basic,NULL}。 int i,j。j3。 for(i=0。j++,pb[i]++) printf(b[%d][%d]:%2d\n,i,j,*pb[i])。 sort(name,n)。 for(i=0。jn。 name[k]=temp。 sort(name,n)。 for(i=0。jn。 name[k]=temp。 sort(name,n)。 for(i=0。jn。 name[k]=temp。 sort(name,n)。 for(i=0。jn。 name[k]=temp。 sort(name,n)。 for(i=0。jn。 name[k]=temp。 int *p2。 p1=amp。 int i=3。 amp。i。 p1=amp。 **p=5。 四級指針 char ****p。 s=t。 q=amp。 } 2022 2022 COPY 指針變量 s 指針變量 r (swap) 指針變量 t 2022 2022 2022輸出 : 1,2 例 一級指針與二級指針 include void swap(int *r,int *s) { int *t。 } main() { int a=1,b=2,*p,*q。b。 t=*r。 p=amp。 swap(amp。 } 2022 2022 200A 2022 2022 2022 1 2 變量 a 變量 b (main) 指針變量 p 2022 指針變量 q 2022 2022 2022 COPY 二級指針 s 二級指針 r (swap) 指針變量 t 2022 20222022 輸出 : 2,1 例 一級指針與二級指針 include void swap(int **r,int **s) { int *t。 } main() { int a=1,b=2,*p,*q。b。 printf(%d,%d\n,*p,*q)。 printf(%o : %s , *p,*p)。 p+i 是 q[i]的地址 ?指針數(shù)組作形參, int *q[ ]與 int **q完全等價(jià);但作為變量定義兩者不同 ?系統(tǒng)只給 p分配能保存一個(gè)指針值的內(nèi)存區(qū);而給 q分配 10塊內(nèi)存區(qū),每塊可保存一個(gè)指針值 167。 float *search(float (*pointer)[4],int n), *p。m)。i4。 return
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1