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

正文內(nèi)容

指針_計(jì)算機(jī)基礎(chǔ)知識(shí)(存儲(chǔ)版)

  

【正文】 ); } } (2) 實(shí)參用數(shù)組名,形參用指針變量。 for(p=array+1。但在概念上和使用上,多維數(shù)組的指針比一維數(shù)組的指針要復(fù)雜一些。a[i] (1)a,a+1,a+2分別代表 amp。a[i] a[2]+1,a[2]+2分別代表 amp。a[i] *(*(a+i)+j) (5)*(amp。a[2][0] (3) a[i]+j 代表 amp。pa[0]+12。 scanf(%d%d,amp。 float score[3][4]={65,67,70,60,80,87,90,81,90,99,100,98}。pp_end。i++) printf(%,*(*(p+n)+i))。 if (flag==1) { printf(number %d student fails:\n,i)。 printf (“%s\n”,str)。 char b[15]。 for(i=0。 p2=b。 i++。 (3)while (*from!=’\0’) *to++=*from++。*to++=*from++。//錯(cuò)誤的 上述兩語(yǔ)句不等價(jià)于: char str[20]=”I love China” char *a。 (4) 指針變量的值可以改變 ,而數(shù)組名是常量,不可以改變其值 char *a=”I love China”。 int (*p)()。//c=p(a,b)。 int min(int,int)。 process(a,b,max)。 } 說(shuō)明:主函數(shù)中對(duì) max(),min(),add()等三個(gè)函數(shù)的聲明是必不可少的 , 以前函數(shù)不聲明 , 隱含為函數(shù)類型為整型 , 但在此 max,min,add做為函數(shù)參數(shù)進(jìn)行調(diào)用時(shí) , 只給函數(shù)名而沒(méi)有函數(shù)的實(shí)參及括號(hào) , 所以編譯系統(tǒng)些時(shí)不易區(qū)分它們是變量還是函數(shù)名 , 以前做為函數(shù)調(diào)用時(shí) , 后面的括號(hào)及參數(shù)可以告知編譯系統(tǒng)它們是函數(shù)名 。 float *search(float (*pointer)[4],int n)。j++) printf(%,*(p+j))。i++) {p=search(score+i)。 pt=*(pointer+1)。 []的優(yōu)先級(jí)高于 *,所以 p先與 []結(jié)合,形成數(shù)組,然后再與 *結(jié)合, *表示此數(shù)組是指針類型,每個(gè)元素都可指向一個(gè)整型變量 指針數(shù)組比較適合處理若干字符串,使字符串處理更加方便靈活。 for (j=i+1。in。 *p是一個(gè)指向字符型的指針變量, **p是一個(gè)指向字符型指針變量的指針。 } } 例 2,間接尋址舉例 main() {static int a[5]={1,3,5,7,9}。 int i。 main函數(shù)的原型是: main(int argc,char *argv[]) main(int argc,char *argv[ ]) { while (argc1) {argv++。)。//讓 p1指向 p2所指向的存貯單元 p=NULL。 …… p1=(char *)p2。 p=max。:39。 } } main函數(shù)的形參 指針數(shù)組一個(gè)重要的應(yīng)用是作為 main函數(shù)的形參。a[4]}。i++) {p=name+i。 } 指向指針數(shù)據(jù)的指針變量,簡(jiǎn)稱為指向指針的指針,定義的形式: 類型 **變量; char **p。 } } } void print(char *name[],int n) {int i。in1。 元素均為指針類型的數(shù)組,稱為指針數(shù)組。 }//end_if }//end_for } float *search(float (*pointer)[4]) { int i。 for(i=0。 for(j=0。 return pt。 result=(*fun)(x,y)。b)。輸入 a,b后,第一次調(diào)用時(shí)找出 a和 b中的大者,第二次找出小者,第三次求 a+b。 c=max(a,b)。 …… a[i] 指向函數(shù)的指針 一個(gè)函數(shù)在編譯時(shí)初分配一個(gè)入口地址,這個(gè)地址就稱為 函數(shù)的指針 ,可以用一個(gè)指針變量指向函數(shù),然后通過(guò)該指針變量調(diào)用此函數(shù)。 s=str。 } 形參和實(shí)參都可以是字符數(shù)組或字符指針變量,很靈活 討論 (1)字符數(shù)組的每個(gè)元素存放一個(gè)字符,字符指針變量只存放字符串的首地址,而不是將字符串放到字符指針變量中 (2)賦值方式,對(duì)字符數(shù)組只能對(duì)各元素賦初值,字符指針變量可以整體賦值 char str[20]。)。 } 對(duì)上述函數(shù)體可有多種寫(xiě)法 (1)while((*to=*from)!=’\0’) {to++。 } 字符串?dāng)?shù)組或指針做函數(shù)參數(shù)可以實(shí)現(xiàn)地址傳遞 (1)用字符數(shù)組做參數(shù) void copy_str(char from[],char to[]) {int i=0。 int i。 *(b+i)=39。 (2)用字符型指針變量或字符數(shù)組表示的字符串可以用 %s整體輸入輸出,其他類型的指針變量或數(shù)組不可以,只能逐個(gè)分量操作。 printf(“%s\n”,str)。j4。 for(i=0。 p_end=p+n1。 main() {void average(float *p,int n)。 int i,j,(*p)[4]。a[0][0])。a[0][0],amp。a[i] *(a+i)+j (4)amp。a[1][0],amp。 p p+i …… a 1. 多維數(shù)組元素的地址 先回顧一下多維數(shù)組的性質(zhì) ,可以認(rèn)為二維數(shù)組是“數(shù)組的數(shù)組”,例 : 定義 int a[ 3][ 4] ={{1, 3, 5, 7},{9,11,13,15},{17,19,21,23} }; 則二維數(shù)組 a是由 3個(gè)一維數(shù)組所組成的。 printf(max=%3d,min=%3d\n,max,min)。 max=min=*array。 *i=*j。 } } 對(duì)剛才的程序可以作一些改動(dòng)。 m=n/2。 int i。i++) scanf(“%d”,p++)。i++) scanf(%d,p++)。 for( p=a+9。p++) printf(%d,*p)。 int *p。a[i])。i10。 main() {int a[10]。i++) scanf(“%d”,amp。 for (i=0。 (1)下標(biāo)法。a[i] *( ) .2通過(guò)指針引用數(shù)組元素 引用一個(gè)數(shù)組元素,可以用: (1) 下標(biāo)法,如 a[i]形式或 p[i](但要先執(zhí)行 p=a ); (2) 指針?lè)?,?*(a+i)或 *(p+i)。 *pt1=*pt2。 exchange (p1,p2,p3)。b,amp。a amp。 temp=p1。 temp=p1。 temp=*p1。 temp=*p1。b。 int a,b。 p1=p2。a amp。 } a,b的值沒(méi)發(fā)生變化 !!! p=p1。a。} printf(*p1=%d,*p2=%d\n,*p1,*p2)。b)。 /*把變量 a的地址賦給 pointer_1 */ pointer_2=amp。,*的優(yōu)先級(jí)相同 ,結(jié)合方向自右向左 ,為互逆操作 amp。//讓 p指向 q所指向的存貯單元 a q 10 指針變量的引用 int *p,*q。 (1)q=amp。 (2) 在定義指針變量時(shí)必須指定基類型。i ? 給指針變量 (pi)賦“空”值: a. pi=NULL。 ? 將一個(gè)指針變量賦給另一個(gè)同類型的指針變量。連續(xù)在一起時(shí),具有抵消作用 : *amp。a等價(jià)。a) 指針: p= =amp。a amp。h。 ?指針變量: 若一個(gè)變量專用于存放另一個(gè)變量 的地址(指針),則該變量稱為指 針變量。 ② amp。b)。 可通過(guò)求地址運(yùn)算得到 。指針的故事 ? “該程序執(zhí)行了非法操作,即將關(guān)閉 ” –這種錯(cuò)誤幾乎全是由指針和數(shù)組導(dǎo)致的 ? 黑客攻擊服務(wù)器利用的 bug絕大部分都是指針和數(shù)組造成的 主要內(nèi)容 指針變量 地址 內(nèi)存中每一個(gè)字節(jié)的存貯單元都有一個(gè)編號(hào),這個(gè)編號(hào)就是“ 地址 ” 。) 每個(gè)變量 /數(shù)組都有一個(gè)內(nèi)存地址 , 在何地址一般無(wú)法預(yù)測(cè) 。 printf(“address of b is%x\n”,amp。 } 說(shuō)明: ① 輸出的地址值 用 4位十六進(jìn)制數(shù)表示 。 ?指針 : 一個(gè)變量的地址稱為該變量的指針。 p2=amp。a 5 p a *p *amp。a == *(amp。(*p1)與 amp。與 *互為逆運(yùn)算 , 當(dāng) ?與 amp。i。i amp。 例 : float *pointer_1; 指針變量名是 pointer_1 ,而不是 * pointer_1 。 int a=10。 或 (2) p=q。 說(shuō)明 : (1)定義指針變量后 ,變量沒(méi)指向任何存貯單元 ,要通過(guò)賦值語(yǔ)句來(lái)確定它所指向的存貯單元 (2)amp。a。a,amp。p2=p。 p1=am
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1