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

正文內(nèi)容

指針_計(jì)算機(jī)基礎(chǔ)知識(shí)(文件)

 

【正文】 (2)用字符型指針變量或字符數(shù)組表示的字符串可以用 %s整體輸入輸出,其他類(lèi)型的指針變量或數(shù)組不可以,只能逐個(gè)分量操作。 for(i=0。 *(b+i)=39。\039。 int i。*p1!=’\0’。 } 字符串?dāng)?shù)組或指針做函數(shù)參數(shù)可以實(shí)現(xiàn)地址傳遞 (1)用字符數(shù)組做參數(shù) void copy_str(char from[],char to[]) {int i=0。 } (2)形參用字符指針變量 void copy_str(char *from,char *to) { for(。 } 對(duì)上述函數(shù)體可有多種寫(xiě)法 (1)while((*to=*from)!=’\0’) {to++。 (4)while(*to++=*from++)。)。 形參為數(shù)組時(shí),也可以用指針變量 void copy_str(char from[],char to[]) {char *p1,*p2。 } 形參和實(shí)參都可以是字符數(shù)組或字符指針變量,很靈活 討論 (1)字符數(shù)組的每個(gè)元素存放一個(gè)字符,字符指針變量只存放字符串的首地址,而不是將字符串放到字符指針變量中 (2)賦值方式,對(duì)字符數(shù)組只能對(duì)各元素賦初值,字符指針變量可以整體賦值 char str[20]。 //合法的 上面兩語(yǔ)句等價(jià)于: char *a=”I love China”。 s=str。 printf(“%s”,a)。 …… a[i] 指向函數(shù)的指針 一個(gè)函數(shù)在編譯時(shí)初分配一個(gè)入口地址,這個(gè)地址就稱(chēng)為 函數(shù)的指針 ,可以用一個(gè)指針變量指向函數(shù),然后通過(guò)該指針變量調(diào)用此函數(shù)。 p=max。 c=max(a,b)。 } (1)指向函數(shù)的指針變量的一般定義形式: 數(shù)據(jù)類(lèi)型 ( *指針變量名)(); (2)函數(shù)調(diào)用可以通過(guò)函數(shù)名,也可以通過(guò)函數(shù)指針調(diào)用 (3)( *p) ()只是定義了一個(gè)指向函數(shù)的指針變量,但指向哪一個(gè)并不確定;在一個(gè)程序中, 一個(gè)指針變量可以先后指向返回類(lèi)型相同的不同函數(shù) (4)給函數(shù)指針變量賦初值時(shí),只給函數(shù)名不給參數(shù) (5)調(diào)用函數(shù)時(shí),用( *p)取代函數(shù)名,實(shí)參照常 (6)對(duì)指向函數(shù)的指針變量進(jìn)行加減運(yùn)算沒(méi)有意義,如 p++ 函數(shù)指針變量的 主要用途是做函數(shù)參數(shù)。輸入 a,b后,第一次調(diào)用時(shí)找出 a和 b中的大者,第二次找出小者,第三次求 a+b。 int process(int,int,int(*fun)())。b)。 process(a,b,min)。 result=(*fun)(x,y)。 一般定義形式為: 類(lèi)型名 *函數(shù)名 ( 參數(shù)列表 ) int *a(int x,int y) 調(diào)用 a后能得到一個(gè)指向整型數(shù)據(jù)的指針 。 return pt。 int j,n。 for(j=0。 } 例,對(duì)上例中的學(xué)生,找出其中有不及格課程的學(xué)生及其學(xué)號(hào) main() {float score[][4]={{60,70,80,90},{56,89,67,88},{34,78,90,6}}。 for(i=0。 for (j=0。 }//end_if }//end_for } float *search(float (*pointer)[4]) { int i。i4。 元素均為指針類(lèi)型的數(shù)組,稱(chēng)為指針數(shù)組。當(dāng)要對(duì)字符串進(jìn)行排序時(shí),可以不改變字符串本身的存貯,只改變指針值即可,可節(jié)約時(shí)間。in1。j++) if (strcmp(name[j],name[k])0) k=j。 } } } void print(char *name[],int n) {int i。 } main() {char *name[]={Follow me,BASIC, Great wall,FORTRAN,Computer design}。 } 指向指針數(shù)據(jù)的指針變量,簡(jiǎn)稱(chēng)為指向指針的指針,定義的形式: 類(lèi)型 **變量; char **p。 char **p。i++) {p=name+i。a[0], amp。a[4]}。 for(i=0。 } } main函數(shù)的形參 指針數(shù)組一個(gè)重要的應(yīng)用是作為 main函數(shù)的形參。 argc。:39。a。 p=max。指向前面的元素的指針變量“小于”指向后面元素的指針變量。 …… p1=(char *)p2。 void *p2。//讓 p1指向 p2所指向的存貯單元 p=NULL。 //將數(shù)組的首地址賦給指針變量 p=amp。)。 } echo程序: main(int argc,char *argv[]) { while (argc1) printf(%s%c\n,*++argv,(argc1)?39。 main函數(shù)的原型是: main(int argc,char *argv[]) main(int argc,char *argv[ ]) { while (argc1) {argv++。i++) {printf(%5d,**p)。 int i。a[2] ,amp。 } } 例 2,間接尋址舉例 main() {static int a[5]={1,3,5,7,9}。 for(i=0。 *p是一個(gè)指向字符型的指針變量, **p是一個(gè)指向字符型指針變量的指針。 sort(name,n)。in。 name[i]=name[k]。 for (j=i+1。 int i,j,k。 []的優(yōu)先級(jí)高于 *,所以 p先與 []結(jié)合,形成數(shù)組,然后再與 *結(jié)合, *表示此數(shù)組是指針類(lèi)型,每個(gè)元素都可指向一個(gè)整型變量 指針數(shù)組比較適合處理若干字符串,使字符串處理更加方便靈活。 return pt。 pt=*(pointer+1)。j++) printf(%,*(p+j))。i++) {p=search(score+i)。 float *p。j++) printf(%,*(p+j))。n)。 float *search(float (*pointer)[4],int n)。 定義函數(shù) search,返回第 n個(gè)學(xué)生的首門(mén)課的地址(列) float *search(float (*pointer)[4],int n) {float *pt。 } 說(shuō)明:主函數(shù)中對(duì) max(),min(),add()等三個(gè)函數(shù)的聲明是必不可少的 , 以前函數(shù)不聲明 , 隱含為函數(shù)類(lèi)型為整型 , 但在此 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ù)名 。 process(a,b,add)。 process(a,b,max)。 scanf(%d%d,amp。 int min(int,int)。通過(guò)用函數(shù)指針變量做函數(shù)形參,可以實(shí)現(xiàn)靈活調(diào)用不同的函數(shù),提高函數(shù)的通用性。//c=p(a,b)。a,amp。 int (*p)()。 (5) 定義了一個(gè)指針變量并使它指向一個(gè)字符串后,就可以用下標(biāo)形式引用其中的字符。 (4) 指針變量的值可以改變 ,而數(shù)組名是常量,不可以改變其值 char *a=”I love China”。 scanf(“%s”,s)。//錯(cuò)誤的 上述兩語(yǔ)句不等價(jià)于: char str[20]=”I love China” char *a。 p2=to。*to++=*from++。 (5)for(。 (3)while (*from!=’\0’) *to++=*from++。from++,to++) *to=*from。 i++。 *p2=’\0’。 p2=b。 //printf(%s,b)。 for(i=0。\039。 char b[15]。 把字符串的首地址賦給 str,不等價(jià)于 char *str。 printf (“%s\n”,str)。 printf(\n)。 if (flag==1) { printf(number %d student fails:\n,i)。i++) {flag=0。i++) printf(%,*(*(p+n)+i))。 } void search(float (*p)[4],int n) {int i。pp_end。 float *p_end。 float score[3][4]={65,67,70,60,80,87,90,81,90,99,100,98}。 } ? 一維數(shù)組名可以作函數(shù)參數(shù),多維數(shù)組名也可以做為參數(shù)傳遞。 scanf(%d%d,amp。 p可以指向由四個(gè)分量組成的一維數(shù)組 ,p每次 +1,移動(dòng)的單元數(shù)是一維數(shù)組所占的單元數(shù) ,它等同于二維數(shù)組的行移動(dòng) . 因此, p等價(jià)于二維數(shù)組。pa[0]+12。 //printf(%o\n%o\n%o\n%o\n,a,a[0],amp。a[2][0] (3) a[i]+j 代表 amp。a[1],amp。a[i] *(*(a+i)+j) (5)*(amp。a[i] *(a+i)+j amp。a[i] a[2]+1,a[2]+2分別代表 amp。a[i] (2)a[0],
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1