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

正文內(nèi)容

[理學(xué)]c語言第8章(參考版)

2024-12-11 00:44本頁面
  

【正文】 ?( 3)由于函數(shù)名本身就代表指向函數(shù)代碼段的首地址,因而可以定義指向函數(shù)的指針,將函數(shù)名賦值給它,通過它完成函數(shù)調(diào)用。 ?( 2)也可將指針作為函數(shù)的返回類型。 ?( 1)將指針作為函數(shù)參數(shù)是在函數(shù)中使用指針的常用方式。對于指向數(shù)組的指針,要注意它們之間的等價關(guān)系。 ?數(shù)組名本身就代表數(shù)組存儲空間的首地址,因而可以通過指向數(shù)組的指針來完成對數(shù)組元素的訪問。指針的這些運(yùn)算在計算時并不是以字節(jié)為單位,而是以所指向目標(biāo)占用的存儲單元為單位。 ? ( 3)指針加減運(yùn)算與關(guān)系運(yùn)算。取地址運(yùn)算符“ amp。 ? ( 2)指針運(yùn)算符“ amp。 ? ( 1)對于指針變量必須遵循“先賦值后使用”的原則。在使用指針變量之前,要先為指針變量賦值,一般是將變量的地址賦給它,讓它指向變量;或?qū)?shù)組名、函數(shù)名賦給指針變量,讓它指向數(shù)組或函數(shù)。為了進(jìn)行區(qū)分,只有通過指向存儲單元中存放的數(shù)據(jù)類型來區(qū)分指針變量。 86 C語言程序設(shè)計 第 8章 指針 本章小結(jié) ? 1.指針變量的定義和賦值。上面程序可以在兩個 for循環(huán)之間加上一句 p=a。} 第一個 for循環(huán)已使指針 p移出了數(shù)組 a的范圍,第二個 for循環(huán)操作時 p始終處在數(shù)組 a之外。i++) { printf(“%5d”,p)。} for(i=0。i++) { scanf(“%d”,p)。 for(i=0。 85 C語言程序設(shè)計 第 8章 指針 ? ,如 int a[10],i,*p。 x=(l+r)/2。 printf(“%d, %d”,a,b)。a,amp。 printf(“%d, %d”,a,b)。 83 C語言程序設(shè)計 第 8章 指針 ? ,卻沒有用指針,如 int a=5,b=10。 這是錯誤的。 就以為字符數(shù)組也可以如此,寫做 char s[80]。 82 C語言程序設(shè)計 第 8章 指針 ? 由于看到字符指針指向字符串的寫法,如 char *str。 str=c。 scanf(“%s”,str)。i。 p=i。puts ( str )。\039。 ) *r++ = *s++。 while ( *s != 39。\039。 else *r++ = *q++。\039。amp。\039。 for ( p=str1, q=str2, r=str。 printf (Enter string2:)。 printf (Enter string1:)。 char *p, *q, *r, *s。 } C語言程序設(shè)計 第 8章 指針 80 例 824 輸入兩個已經(jīng)按從小到大順序排列好的字符串,編寫一個合并兩個字符串的函數(shù),使合并后的字符串,仍然是從小到大排列。 gets(string)。} main ( ) { char a[30],*string=a。 ) return (0)。則 s的串長為 0; ②將串 s分為兩部分:第 1個字符和除第 1個字符之外的其它部分; ③則有: 串長 = 1 + 除第 1個字符之外的其余部分的長度 include int strlen ( char * s ) /* s為指向字符串的指針 */ { if ( *s == 39。假設(shè)函數(shù) strlen的參數(shù)為指向字符串首地址的指針 s,則: ①若指針 s的當(dāng)前字符為 39。} C語言程序設(shè)計 第 8章 指針 79 例 823 使用指針,編寫程序,要求輸入一個字符串,求串長,求串長函數(shù)用遞歸方法實現(xiàn)。 printf (%s , *p)。 iSIZE。 char **p。 include define SIZE 7 main( ) { int i。 printf(x=%d,*p=%d,**q=%d\n,x,*p,**q)。 int **q=amp。再次間接訪問二級指針: 則有: **q = *(*q) = *p = x 76 C語言程序設(shè)計 第 8章 指針 例 821 分析程序運(yùn)行結(jié)果: include main ( ) { int x=10, *p=amp。對二級指針若有: q=amp。x。 /* 定義指向整型變量的指針 p */ int **q。 75 C語言程序設(shè)計 第 8章 指針 ? 為指針型指針初始化的方式是用指針的地址為其賦值,例如 int x 。指針型指針的定義形式為: 類型標(biāo)識符 ** 指針變量名 。} C語言程序設(shè)計 第 8章 指針 ? 一個指針可以指向任何一種數(shù)據(jù)類型,包括指向一個指針。 day7) printf(The day is :%s\n,week_day[day])。 if(day=0 amp。 scanf(%d, amp。 char * week_day[7]= {sunday,monday,tuesday,wednesday,thursday, friday, saturday}。用指針數(shù)組實現(xiàn)。 它們在內(nèi)存中存儲結(jié)構(gòu)如圖 816所示: 73 C語言程序設(shè)計 第 8章 指針 例 820 編寫一程序,用星期的英文名稱初始化一個字符指針數(shù)組,鍵入一個整數(shù),當(dāng)該數(shù)在 0~ 6時,輸出對應(yīng)的星期的英文,否則顯示錯誤信息。指向字符串的指針數(shù)組的初始化更為簡單。 } C語言程序設(shè)計 第 8章 指針 ? 可以用一個二維數(shù)組來表示數(shù)組 weekday,其定義方法為 char week[7][10]= {Sunday,Monday,Tuesday,Wednesday, Thursday,Friday,Saturday}。i++) printf(%5d,*(pa[2]++))。 for(i=0。i++) printf(%5d,*(pa[1]+i))。 for(i=0。 printf(%5d,**pa)。 pa[0]=amp。 int a3[4]={5,6,7,8}。 include main( ) { int a1=1。如果一個數(shù)組中的每個元素均為指針類型,即由指針變量構(gòu)成的數(shù)組,這種數(shù)組稱之為指針數(shù)組,它是指針的集合。另外,如果有函數(shù)指針 (*pf)( ),則 pf+n、 pf++、 pf等運(yùn)算是無意義的。 } int max ( int x, int y ) { return ( xy ) ? x : y。 c = (*pf)(a,b)。a, amp。 /* 將函數(shù)的入口地址賦給指針 */ printf (please input a and b:)。 /* 函數(shù)指針定義 */ int a,b,c。 include main( ) { int max ( int ,int )。函數(shù)的指針的定義方式是: 類型標(biāo)識符 ( * 指針變量名)() ? 特別值得注意的是,由于 C語言中,( )的優(yōu)先級比 *高,因此,“ * 指針變量名”外部必須用括號,否則指針變量名首先與后面的()結(jié)合,就是前面介紹的“返回指針的函數(shù)” 。} C語言程序設(shè)計 第 8章 指針 ? 在定義一個函數(shù)之后,編譯系統(tǒng)為每個函數(shù)確定一個入口地址,當(dāng)調(diào)用該函數(shù)的時候,系統(tǒng)會從這個“入口地址”開始執(zhí)行該函數(shù)。b)。 pmax = max(amp。a, amp。 /* 指針 pmax指向最大值變量 */ printf (please input a and b:)。 /* p為指向最大值的指針 */ return ( p )。 include int * max (int *x,int *y) /* 函數(shù) max的返回值為指向整型的指針 */ { int *p。注意,此時說明的是函數(shù),而不是指針。 63 C語言程序設(shè)計 第 8章 指針 ? 可以將地址作為函數(shù)返回值,當(dāng)將地址作為函數(shù)返回值時,該函數(shù)被稱為指針函數(shù)。 ?( 2)能夠修改實參變量值的原因:形參和實參共用同一存儲單元。 } 運(yùn)行結(jié)果: please input a and b:3 5 Before Swap: a=3, b=5 After Swap: a=3, b=5 C語言程序設(shè)計 第 8章 指針 ? 雖然 C語言的函數(shù)參數(shù)都是值傳遞,但是可以通過地址值間接地把被調(diào)函數(shù)的某些數(shù)值傳送給主調(diào)函數(shù)。 p1=p2。 } void swap(int *p1,int *p2) { int *t。b)。 swap(amp。b)。 scanf(%d%d,amp。 } 運(yùn)行結(jié)果: please input a and b:3 5 Before Swap: a=3, b=5 After Swap: a=5, b=3 C語言程序設(shè)計 第 8章 指針 62 例 816 用指針實現(xiàn)用 swap()函數(shù)交換兩個變量的值 main ( ) { int a, b。 *p1=*p2。 } void swap(int *p1,int *p2) { int t。b)。 swap(amp。b)。 scanf(%d%d,amp。 } 運(yùn)行結(jié)果: please input a and b:3 5 Before Swap: a=3, b=5 After Swap: a=3, b=5 C語言程序設(shè)計 第 8章 指針 60 3a 5b3p 1 5p 2m a i n 函 數(shù) 中s w a p 函 數(shù) 中( a ) 參 數(shù) 傳 遞3a 5b5p 1 3p 2m a i n 函 數(shù) 中s w a p 函 數(shù) 中( b ) s w a p 函 數(shù) 執(zhí) 行 后C語言程序設(shè)計 第 8章 指針 61 例 815 用指針實現(xiàn)用 swap()函數(shù)交換兩個變量的值 main ( ) { int a, b。 p1=p2。 } void swap(int p1,int p2) { int t。 swap(a,b)。b)。 scanf(%d%d,amp。 main ( ) { int a, b。 /* 錯誤的串操作 */ string = str1。 /* 改變指針
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1