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

正文內(nèi)容

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

2024-10-11 14:55本頁面
  

【正文】 。i10。i++,p++) scanf(“%d”,p)。 for( i=0。 6 常見錯(cuò)誤 指針超出數(shù)組范圍 , 如: int a[10], *p,i。 scanf(“%s”,str)。 *p=a。a。 或 int ** p ,a。 p=amp。 或 int * p。 6 常見錯(cuò)誤 對(duì)于指針變量賦予非指針值 , 或與之類型不匹配的值 , 如: int * p,i。i++) printf(“%d ”, ______)。 for(i=0。 pp=amp。 請(qǐng)考慮: pp=pp+1 執(zhí)行的是什么操作 ? a[0] 3 0x2022 a[1] 2 0x2022 a[2] 5 0x2022 p 0x2022 0x3000 pp 0x3000 main() { int a[5]={1,2,3,4,5}, *p, **pp ,i。 對(duì)于指向指針的指針 pp, 因?yàn)樗赶虻淖兞渴且粋€(gè)指針變量 , 即 (*pp)為指針變量 p, 而 *(*pp)才是數(shù)組中的第一個(gè)元素 a[0]。 } 四、指向指針的指針 既然指針變量在內(nèi)存中也要占用內(nèi)存空間 , 那么當(dāng)然也可以用另一個(gè)指針變量來指向這個(gè)內(nèi)存空間 。iargc。 printf(\n%d,argc)。 2. argc和 argv都包括程序名本身 。 如: 若程序名為 ; 在命令行鍵入的命令為: test aaa bbb ccc↙ 則 argc中的值為 4, 而字符指針數(shù)組中的指針則分別指向命令行中的各字符串 。 其實(shí) main也是可以有參數(shù)的 。 print(name,5)。 void print( char * name[ ], int n) main( ) {char * name[ ]={“Cprogram”,“Basic”, “Foxbase+”,“Fortran”,“Pascal”}。 pa[4]=“555”。 pa[2]=“33333”。 二、指針數(shù)組的例子 因此 , 對(duì)于定義 : char * pa[5]={“111”,“2222”, “33333”,“44”,“555”}; 則相當(dāng)于有 : pa[0]=“111”。 /*定義一個(gè) 有 5個(gè)元素的一維指針數(shù)組;其中的每個(gè)元素都是一個(gè)字符指針 。 …… 167。 str=a。 printf(“string is:%s\n”, str)。 如在上例中,最后的輸出語句改為: main( ) { char *str。 printf(“string b is:%s\n”, p2)。 * p2=’\0’。* p1!=’\0’。 p2=b。 int i。 printf(“string b is:%s\n”,b)。 * p2=’\0’。* p1!=’\0’。 p2=b。 int i。 如果要在程序的運(yùn)行過程中要改變其值 , 只能通過函數(shù)調(diào)用來實(shí)現(xiàn) ! 例:用指針將字串 1的內(nèi)容復(fù)制到字串 2。 printf(“%s\n”,p)。 printf(“%s\n”,p)。 我們知道: 數(shù)組名代表的是數(shù)組的起始地址 , 它是一個(gè)常量;而后者則是一個(gè)指針變量 。 printf(“%s”,p)。 printf(“%s”,a)。 因此 , 該句的作用是將字符串 “ How do you do? ”的起始地址賦值給 p, 也就是說 , 使指針 p指向字符串 “ How do you do? ”。 4) printf(“%s”,p)。 看下面的例子: 1) main() 2) { char * p。 p++。i++) printf(“%c”,*p++)。 for(i=0。 int i。 4 字符串的指針 最容易接受的字符串指針應(yīng)該是下面這種 : main() { char a[20]=“how do you do?”。 printf(“\n”)。j4。i3。 int i,j。 } } 若改成數(shù)組名的指針形式 , 應(yīng)如何修改 ? 例:輸出二維數(shù)組中的全部元素。j++) printf(“%4d”,a[i][j])。i++) { for(j=0。 for(i=0。 即 :* a = = a 為什么會(huì)這樣 ? 因?yàn)楦静淮嬖谟?a[0]這個(gè)元素 ,二維數(shù)組中的第一個(gè)元素是 a[0][0],a[0]代表了整個(gè) 0行元素的起始地址 ,所以 : (a+0)=a[0]=a=*a= *(a+0) 而 a+1=a[1]=*(a+1)(均為第 1行的地址 ) 因此 , 要引用第 1行 、 第 3列的元素 , 用數(shù)組名應(yīng)為a[1][3]或 *(*(a+1)+3) main() {int a[3][4]={{1,3,5,7},{9… },{… }}。 四、指向多維數(shù)組的指針 既然 a+i為數(shù)組中第一行的首地址 , 那么 , *(a+i)是什么 ? 這是二維數(shù)組與一維數(shù)組間的重大區(qū)別 : 對(duì)于一維數(shù)組 a[10],*a代表第 0個(gè)元素的值 。結(jié)果會(huì)如何 ? main( ) { int i, j, a[5][10]; for( i=0; i50; i++) for( j=0; j10; j++) a[i][j]=i*5+j; printf( “%d\n”, a) ; printf( “%d\n”, a[0]) ; printf( “%d\n”, *a) ; } 13 13 13 為什么會(huì)這樣? 因?yàn)樵诙S數(shù)組 a[5][10]中,并不存在 a[0]這個(gè)元素,而我們使用了 a[0],系統(tǒng)對(duì)它如何看待呢?如下圖所示: a0 a00 a01 a02 a03 a04 a05 a06 a07 a08 a09 a1
點(diǎn)擊復(fù)制文檔內(nèi)容
黨政相關(guān)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1