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

正文內(nèi)容

[理學(xué)]c語言第8章-文庫吧資料

2024-12-14 00:44本頁面
  

【正文】 str的指向 */ strcpy( string, This is a NEW string.) /* 改變字符串的的內(nèi)容 */ strcat( string, str) /* 進(jìn)行串連接操作 */ 在程序中, 不能 進(jìn)行如下操作: string++。 /* 指針 str加 1 */ str = This is a NEW string.。 char string[100]=This is a string.。 string是一個(gè)數(shù)組,可以改變數(shù)組中保存的內(nèi)容。 此時(shí), string是字符數(shù)組,它存放了一個(gè)字符串。 }/* 調(diào)用串連接函數(shù) strcat */ C語言程序設(shè)計(jì) 第 8章 指針 56 ? 這里要注意字符指針與字符數(shù)組之間的區(qū)別。 /* 找到串 str1的串結(jié)束標(biāo)記 */ while ( *p++ = *str2++ ) 。\039。 p=str1。 str1=a。 printf(Enter string 2:)。 printf(Enter string 1:)。 include main( ) { char a[50], b[30]。 printf(\n)。\039。 for(i=0。 printf(string a is: %s\n,a)。 *p2=39。\039。 for(p1=a,p2=b。 char b[30],*p1,*p2。 C語言程序設(shè)計(jì) 第 8章 指針 54 例 812 編寫程序,用指針實(shí)現(xiàn)字符串復(fù)制。 是對(duì)字符指針進(jìn)行初始化。 我們可以用字符串常量對(duì)字符指針進(jìn)行初始化。 C語言程序設(shè)計(jì) 第 8章 指針 53 ( 2)用字符串指針指向一個(gè)字符串。 和前面介紹的數(shù)組屬性一樣, string是數(shù)組名,它代表字符數(shù)組的首地址。 ( 1)用字符數(shù)組存放一個(gè)字符串,然后采用字符數(shù)組來完成操作。} printf(MAX=a[%d][%d]=%d\n,row,col,max)。 row=i。j4。i3。 row=col=0。 int *p=a[0],max,i,j,row,col。 } C語言程序設(shè)計(jì) 第 8章 指針 51 例 811 求二維數(shù)組元素的最大值,并確定最大值元素所在的行和列。p++) if(*pmax) max=*p。 for(p=a[0],max=*p。 include main() { int a[3][4]={{3,17,8,11},{66,7,8,19},{12,88,7,16}}。/*用于分行顯示 */ printf(%5d, *p)。pa[0]+N*M。 int *p。 } } C語言程序設(shè)計(jì) 第 8章 指針 49 例 89 用指針變量來輸出二維數(shù)組中的元素。j++) printf(%5d,*(p+j))。 for(j=0。iM。 int *p,i,j。 C語言程序設(shè)計(jì) 第 8章 指針 48 例 89 用指針變量來輸出二維數(shù)組中的元素。 則數(shù)組 a的元素 a[1][2]對(duì)應(yīng)的指針為:p+1*3+2 元素 a[1][2]也就可以表示為: *( p+1*3+2) 用下標(biāo)表示法, a[1][2]表示為: p[1*3+2] C語言程序設(shè)計(jì) 第 8章 指針 47 ? 注意: ? 對(duì)上述二維數(shù)組 a,雖然 a[0]、 a都是數(shù)組首地址,但二者指向的對(duì)象不同, a[0]是一維數(shù)組的名字,它指向的時(shí)a[0]數(shù)組的首地址,對(duì)其進(jìn)行“ *”運(yùn)算,得到的是一個(gè)數(shù)組元素值,即 a[0]數(shù)組首元素值,因此, *a[0] 與 a[0][0]是同一個(gè)值;而 a是一個(gè)二維數(shù)組的名字,它指向的是它所屬元素的首元素,它的每一個(gè)元素都是一個(gè)行數(shù)組,因此,它的指針移動(dòng)單位是“行”,所以 a+i指向的是第 i個(gè)行數(shù)組,即指向 a[i]。 由于 a[0]、 a[1]… a[M1] 等各個(gè)行數(shù)組依次連續(xù)存儲(chǔ),則對(duì)于 a數(shù)組中的任一元素 a[i][j],指針的一般形式如下: p+i*N+j 元素 a[i][j]相應(yīng)的指針表示為: *(p+i*N+j) 同樣, a[i][j] 也可以使用指針下標(biāo)法表示: p[i*N+j] C語言程序設(shè)計(jì) 第 8章 指針 46 例如上面的定義: int a[4][3], *p。 43 C語言程序設(shè)計(jì) 第 8章 指針 44 a [ 0 ]a [ 1 ]a [ 2 ]a [ 3 ]pp + 1p + 2p + 3p + 4p + 5p + 6p + 7p + 8p + 9p + 1 0p + 1 1數(shù) 組 一 維 下 標(biāo) 的 二 維 數(shù) 組 元 素 在 內(nèi) 存 中 通 過 指 針 通 過 指 針 按 下名 稱 指 針 含 義 下 標(biāo) 表 示 的 存 儲(chǔ) 順 序 訪 問 元 素 標(biāo) 訪 問 元 素p [ 0 ]p [ 1 ]p [ 2 ]p [ 3 ]p [ 4 ]p [ 5 ]p [ 6 ]p [ 7 ]p [ 8 ]p [ 9 ]p [ 1 0 ]p [ 1 1 ]a [ 0 ] [ 0 ]a [ 0 ] [ 1 ]a [ 0 ] [ 2 ]a [ 1 ] [ 0 ]a [ 1 ] [ 1 ]a [ 1 ] [ 2 ]a [ 2 ] [ 0 ]a [ 2 ] [ 1 ]a [ 2 ] [ 2 ]a [ 3 ] [ 0 ]a [ 3 ] [ 1 ]a [ 3 ] [ 2 ]aC語言程序設(shè)計(jì) 第 8章 指針 45 設(shè) p是指向數(shù)組 a的指針變量,若有: p=a[0]。 p = amp。 則將二維數(shù)組中的元素 a[i][j]轉(zhuǎn)換為一維線性地址的一般公式是: 線性地址= a+ i M+ j 其中: a為數(shù)組的首地址, M和 N分別為二維數(shù)組行和列的元素個(gè)數(shù)。} C語言程序設(shè)計(jì) 第 8章 指針 ? 在 C語言中,二維數(shù)組是按行優(yōu)先的規(guī)律轉(zhuǎn)換為一維線性存放在內(nèi)存中的,因此,可以通過指針訪問二維數(shù)組中的元素。 /* 串前面的指針 s向后( +1)移動(dòng) */ *p = c。 /* 指針回退一個(gè)字符,指針 p指向字符串中的最后一個(gè)字符 */ while ( sp ) /* 當(dāng)串前面的指針 s(小于)串后面的指針 p時(shí),進(jìn)行循環(huán) */ { c = *s。\039。 /* 指針 p和 s指向 str */ while ( *p ) p++。 gets(str)。 include main( ) { char str[50], *p, *s, c。 ? pq 當(dāng) p所指的元素在 q所指的元素之后時(shí),表達(dá)式的值為 1;反之為 0。 /* 指向同一字符數(shù)組的兩個(gè)指針進(jìn)行減法運(yùn)算,求出串長 */ } C語言程序設(shè)計(jì) 第 8章 指針 ? ② 兩指針變量進(jìn)行關(guān)系運(yùn)算: ? 指向同一數(shù)組的兩指針變量進(jìn)行關(guān)系運(yùn)算可表示它們所指數(shù)組元素之間的關(guān)系。\039。\039。 while ( *p ) p++。 printf(Enter string:)。 39 C語言程序設(shè)計(jì) 第 8章 指針 40 例 87 編寫程序求字符串的長度。} 運(yùn)行結(jié)果: a[0]=2 a[1]=4 a[2]=6 a[3]=8 a[4]=10 x=4 *px=4 C語言程序設(shè)計(jì) 第 8章 指針 ? ①兩指針變量相減: ? 兩指針變量相減所得之差是兩個(gè)指針?biāo)笖?shù)組元素之間相差的元素個(gè)數(shù)。 printf(\ny=%d\n,y)。i5。為 y=*++px。 y=*++px。 include main() { int i,*px,a[5]={2,4,6,8,10},y=30。為了增加可讀性,建議使用 *(px++)和 *( ++px)。 printf(“*px=%d\n”,*px)。i++) printf(a[%d]=%5d,i,a[i])。 for(i=0。 px=a。 37 例 85 分析下面程序運(yùn)行結(jié)果。 printf(*px=%d\n,*px)。i++) printf(a[%d]=%5d,i,a[i])。 for(i=0。 px=a。 36 例 84 分析下面程序運(yùn)行結(jié)果。i++) printf(a[%d]=%d\n,i,*p++)。 for(i=0。i10。 p=a。 35 例 83 找出程序中的錯(cuò)誤。 34 C語言程序設(shè)計(jì) 第 8章 指針 ? ③要注意指針變量的當(dāng)前值。如 p++是合法的;而 a++是錯(cuò)誤的。 } 運(yùn)行結(jié)果: a is: 18FF20, a+3 is: 18FF2C (結(jié)果有可能不相同) p is: 18FF20, p+3 is: 18FF2C *a is : 1, *(a+3) is : 4 *p is : 1, *(p+3) is : 4 p[0] is : 1, p[3] is : 4 C語言程序設(shè)計(jì) 第 8章 指針 ? 注意: ?①指針變量的加減運(yùn)算只能對(duì)數(shù)組指針變量進(jìn)行,對(duì)指向其它類型變量的指針變量作加減運(yùn)算是毫無意義的。 printf(*p is : %d, *(p+3) is : %d\n ,*p, *(p+3))。 printf(p is: %X, p+3 is: %X\n ,p, p+3)。 int *p=a。 ?指針變量加或減一個(gè)整數(shù) n的意義是把指針指向的當(dāng)前位置 (指向某數(shù)組元素 )向前或向后移動(dòng) n個(gè)位置,這里加減的單位不是以字節(jié)為單位,而是以指向的數(shù)據(jù)類型所占用的字節(jié)數(shù)為單位。 } 運(yùn)行結(jié)果: *(p+0):1 *(p+1):2 *(p+2):3 *(p+3):4 *(p+4):5 *(a+0):1 *(a+1):2 *(a+2):3 *(a+3):4 *(a+4):5 p[0
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1