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

正文內(nèi)容

c語言第八章指針?biāo)拇ㄞr(nóng)業(yè)大學(xué))課件-閱讀頁

2024-10-19 14:55本頁面
  

【正文】 數(shù)組的起始地址 ( 應(yīng)該說 , 在編譯時(shí)被轉(zhuǎn)換成地址 ,都是常量 ) 。 這種方法與用字符數(shù)組處理字符串有何區(qū)別 ?看以下圖示兩種賦值方式的區(qū)別: char a[ ]=“good!”。 char * p ; p=“good!”。 g 0x2022 o o d ! \0 a g 0x2022 o o d ! \0 p 0x2022 二、字符串與字符數(shù)組的比較 對(duì)于以上兩種字符串的處理方式 , 其結(jié)果雖然一樣 , 但其實(shí)現(xiàn)機(jī)制卻大不相同:前者是通過數(shù)組來實(shí)現(xiàn) , 后者則是通過指針實(shí)現(xiàn) 。因此 , 我們對(duì)于指針變量 p, 可以寫出如下語句: char * p=“abcde”。 p=“123456789”。 而對(duì)于字符數(shù)組 a, 因?yàn)樗淼臄?shù)組的起始地址 , 是常量 , 則不能如此方便地改變其中的值 。 main( ) { char a[]=“C program.”; char b[20],*p1,*p2。 p1=a。 for( 。p1++,p2++) * p2 = * p1。 printf(“string a is:%s\n”,a)。 } main( ) { char a[]=“C program.”; char b[20],*p1,*p2。 p1=a。 for( 。p1++,p2++) * p2 = * p1。 printf(“string a is:%s\n”, p1)。 } 雖然用指針來實(shí)現(xiàn)字符串的操作很 “ 方便 ” ,但是請(qǐng)注意以下兩點(diǎn):( 1) 字符串指針的值是可變的,因此,在下次操作時(shí),請(qǐng)注意該指針的指向。 scanf(“%s” ,str)。 } ( 2) 對(duì)于定義的字符串指針,系統(tǒng)只會(huì)給它分配一個(gè)單元(兩個(gè)字節(jié))的空間, 如果直接進(jìn)行如下操作是錯(cuò)誤的: ? str ? 正確操作應(yīng)按如下進(jìn)行: : char *str , a[30]。 scanf(“%s” ,str)。 5 指針數(shù)組 一、指針數(shù)組的概念 概念:其中的元素全部是指針的數(shù)組 定義形式 : 類型標(biāo)識(shí)符 * 數(shù)組名 [元素個(gè)數(shù) ] 如 : char * pa[5]。 */ 因?yàn)槊總€(gè)字符指針同時(shí)又是一個(gè)字符串指針 , 可以指向一個(gè)字符串;因此 , 一個(gè)指針數(shù)組中的多個(gè)指針元素可以指向多個(gè)字符串 。 pa[1]=“2222”。 pa[3]=“44”。 例 : 將若干字符串按字母順序排序輸出 . void sort(char *name[ ],int n)。 sort(name,5)。 } void sort( char * name[ ] , int n) {char * temp; int i, j, k; for( i= 0; i< n- 1; i++ ) { k= i; for( j= i+ 1; j< n; j++ ) if(strcmp(name[ k] ,name[ j] )> 0) k= j; if( k! = i) { temp= name[ i] ; name[ i] = name[ k] ; name[ k] = temp; } } } Folloe me \ 0 BASIC BASIC\0 Great wall \ 0 FORTRAN \ 0 Computer design \ 0 C program BASIC Foxbase FORTRAN Pascal 0 1 2 3 4 Computer design 0 Folloe me Folloe \ 0 BASIC \0 Great wall \ 0 FORTRAN FORTRAN\ 0 \ C program BASIC Foxbase FORTRAN Pascal 0 1 2 3 4 三、 main函數(shù)的形參 前面我們?cè)诙x main函數(shù)時(shí) , 一直都把它定義為無參函數(shù) 。 對(duì)于一個(gè) C程序 , 若想從命令行接收參數(shù) , 則 main函數(shù)需要定義形參 , 而且定義格式是固定的: main( int argc, char * argv[ ]) ? 其中 argc中的值為數(shù)據(jù)行鍵入的參數(shù)的個(gè)數(shù);而字符指針數(shù)組則指向命令行中的參數(shù)字符串 。 說明: 1. 形參變量名并非一定是 argc, argv不可 , 這只是習(xí)慣問題 。 例: main函數(shù)的形參 main(int argc , char * argv[]) { int i。 for(i=0。i++) printf(\n argv[i]=%s,argv[i])。如下圖: a[0] 3 0x2022 a[1] 2 0x2022 a[2] 5 0x2022 p 0x2022 0x3000 pp 0x3000 在上例中 , 對(duì)于變量 pp, 雖然它存放的也是一個(gè)地址值 , 但是請(qǐng)注意 , 所指向的變量不是普通的變量 ,而是一個(gè)指針變量 , 因此 , 對(duì)于變量 pp, 我們稱之為 指向指針的指針 。 對(duì)于 pp, 因?yàn)槠渲写娣诺氖钦妥兞康闹羔樀牡刂?, 因此 , pp的定義為: int ** pp 。 p=a。p。i5。} a[0] 3 0x2022 a[1] 2 0x2022 a[2] 5 0x2022 p 0x2022 0x3000 pp 0x3000 例:用一個(gè)指向指針的指針來輸出數(shù)組中的元素 167。 p=i。 char c。c。 p=amp。 使用指針之前沒有讓指針指向特定的存儲(chǔ)區(qū) , 如: int * p, a。 char * str。 167。 p=a。i10。 for( i=0。i++,p++) printf(“%d ”,
點(diǎn)擊復(fù)制文檔內(nèi)容
黨政相關(guān)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1