版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、習(xí)題解答第五章 指 針1、指針的基類型定義了該指針?biāo)赶蜃兞康念愋汀募夹g(shù)上講,任何類型的指針均可指向內(nèi)存中的任何位置,但因所有的指針運(yùn)算都是與它的基類型相關(guān)聯(lián)的,所以正確說明指針非常重要。(1)基類型使指針只能指向基類型定義的一類變量。(2)限制引用操作滿足基類型的約束(范圍、運(yùn)算、內(nèi)存表示)。(3)限制指針移動操作的跨度。 2、(1)通過指針引用數(shù)組元素是C語言提供的一種高效數(shù)組訪問機(jī)制,通過帶下標(biāo)的指針變量引用一維數(shù)組元素。 (2)通過指針指向數(shù)組或數(shù)組元素的地址完成各種賦值、引用、移動、比較等操作。數(shù)組名在C語言中被處理成一個地址常量,也就是數(shù)組所占連續(xù)存儲單元的起始地址,一旦定義,數(shù)
2、組名永遠(yuǎn)是數(shù)組的首地址,在其生存期不會改變??梢酝ㄟ^數(shù)組首地址引用數(shù)組元素,輸出數(shù)組中全部元素。也可以將數(shù)組名與數(shù)組指針賦值完成各種操作。3、(1)指針數(shù)組定義形式為int * asize;實(shí)質(zhì)是一個數(shù)組,共有size個元素,其中每個元素都是指針類型的,并且每個元素的基類型是整型。(2)數(shù)組指針定義形式為int (*p)size;實(shí)質(zhì)是一個變量,是一個指針變量,這個指針變量的基類型是size 個int類型元素的數(shù)組。簡單的說數(shù)組指針是一個指針,它指向一個數(shù)組,通過這個指針可以對數(shù)組進(jìn)行多種操作,和使用數(shù)組下標(biāo)起到相同的作用,這個指針最初指向數(shù)組第一個元
3、素;指針數(shù)組就是一個數(shù)組,它里邊的元素都是指針。舉例如下:int *p5; / 指針數(shù)組,p是數(shù)組名,數(shù)組里放5個int指針。int (*p)5; / 數(shù)組指針,p是指針名,指向一個有5個int元素的數(shù)組。4、(1)int *p;/定義了一個基類型為整型的指針變量p即p是整型指針。(2)int *p5;/定義了一個指針數(shù)組p,數(shù)組中含有5個基類型為整型的指針,即p是5個元素的數(shù)組,數(shù)組元素是整型指針。(3)int (*p)5; 定義了一個數(shù)組指針p,p指向一個含有5個整型元素的數(shù)組,即p是指針,指向數(shù)組,數(shù)組有5個整型元素。(
4、4)int *fp();定義了一個函數(shù)fp,函數(shù)的返回值是個指向整型變量的指針變量。(5)int (*fp)(); 定義一個指向函數(shù)的指針變量fp,返回值為整型。(6)int * (*fp)(); fp是指針,指向返回類型為整型指針的函數(shù)。(7)void *fp();fp是函數(shù),函數(shù)返回通用指針。(8)int *p;定義了一個指向指針的指針p,p為整型指針的指針,即p是指針,指向一個整型指針。5、(1)1 2 3 4 5 6 7 8 9 10 11 12(2)11,11,11 (3)edcba(4) 1 3 5 76、# include<stdio.h> # include<
5、conio.h> void main() char *p,x100,c; clrscr();p=x; while(c=getchar()!='n') *p=c; p+; p-; while(p!=x-1) printf("%c",*p); p-; 7、# include<stdio.h> # include<conio.h> main() char str100,*p; int i=0; printf("Please input string:"); clrscr(); gets(str); p=str; w
6、hile(*p+='0') i+; printf("The length of the string is %d:",i);8、第一問參考第5題第(1)小題和例5-5。第二問將第5題第(1)小題指針指向改為*p=&a23,指針輸出改為 *p即可。亦可參考如下:#indude<tdio.h>void main() int a1010,i,j,*p,n; for( i0;i10;i) for( j0;j10;j) *(*(ai )j)i*10j; n0; for( p&a99;p&a00;p) printf(" 5d
7、",*p ); if(n 10 0) printf("n"); 利用指向行數(shù)組的指針變量可重寫為:#include <stdio.h>void main() int a1010,i,j,*p; int (*pp ) 10; ppa; for( i0;i10;i ) for( j0;j10;j ) *(*ppj )i*10j; p; for(p *pp1;pa0;p ) printf( "5d",*p ); if( pa0 ) 10 0 ) printf( "n"); 9、#include "conio.
8、h"main( ) int month,day,ry1=0,ry2=0; int i,*p;int days212=31,28,31,30,31,30,31,31,30,31,30,31,31,29,31,30,31,30,31,31,30,31,30,31; printf("please input the right month and the right day:n"); scanf("%d,%d",&month,&day); clrscr(); p=days; if(month<1|month>12) pri
9、ntf("error month!n"); else if (month=2&&day=29) printf("the %d month %d day is not exist in the norun year!n",month,day); ry2=60; printf("the %d month %d day is %d day in the run year!n",month,day,ry2); else if(day<1|(day>days0month-1|day>days1month-1)p
10、rintf("the error day!n"); else for(i=0;i<month-1;i+) ry1+=*p+; ry1+=day; p=&days10; for(i=0;i<month-1;i+) ry2+=*p+; ry2+=day;printf("the %d month %d day is %d day in the norun year!n",month,day,ry1);printf("the %d month %d day is %d day in the run year!n",mont
11、h,day,ry2); 利用指針與函數(shù)可重寫為:#include <stdio.h>int days(int (*p)13,int year,int month,int day);void main( ) int y,m,d,n; static int day_tab213 0,31,28,31,30,31,30,31,31,30,31,30,31, 0,31,29,31,30,31,30,31,31,30,31,30,31;printf("Input:year? month? day? n "); scanf("ddd",&y,&a
12、mp;m,&d ); ndays(day_tab,y,m,d ); printf("It is d day n",n );int days(int ( *p )13,int year,int month,int day ) int j,leap; leap year 40 && year 100!0 | year 4000; for( j1;jmonth;j ) day *(*(pleap )j ); return(day);10、main( ) int n ; char *name ="illagal month" ,"
13、;January" ,"February" ,"March ","April ","May ","June ","July","August" ,"September" ,"October ","November" ,"December" ; printf("please input the month:"); scanf("%d&quo
14、t;,&n); printf("%d month : %sn ", n ,(n<1 | n>12)? name0 : namen);11、整個過程主要分為以下幾步:讀入全部正文,將它排序,按排好的順序輸出它們。下圖給出字符指針數(shù)組與相應(yīng)正文的關(guān)系:#include stdio.h>#include stdlib.h>#include string.h>#define NULL 0#define LINES 100 #define MAXLEN 1000int readlines(char *lineptr,int maxlines);v
15、oid writelines(char *lineptr,int nlines);void sort(char *v,int n);int getline(char s,int lim);void main(void) char *lineptrLINES; int nlines; if(nlinesreadlines(lineptr,LINES)>0) sort(lineptr,nlines); writelines(lineptr,nlines); else printf("Input too big to sortn");int readlines(char *
16、lineptr,int maxlines) int len,nlines; char *p,lineMAXLEN; nlines0; while(lengetline(line,MAXLEN)0) if(nlines>maxlines) return(1); else if(p(char *)calloc(len,1)NULL) return(1); else linelen1'0'; /* Cancel newline */ strcpy(p,line); lineptrnlinesp; return(nlines);void writelines(char *lineptr,int nlines) while(nlines>0) printf("sn",*lineptr);void sort(char *v,int n) int gap,i,j; char *temp; for(gapn/2;gap
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度新能源汽車充電樁安裝與維護(hù)個人聘用合同4篇
- 2025年食堂外包項(xiàng)目績效考核與評估合同3篇
- 2025年度個人消費(fèi)分期貸款合同模板(2025版)4篇
- 2025年度個人工廠品牌形象及營銷權(quán)轉(zhuǎn)讓合同2篇
- 2025年全球及中國三環(huán)癸烷二甲醇二甲基丙烯酸酯行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 2025年全球及中國全自動線材前處理機(jī)行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 2025-2030全球調(diào)濕蒸紗機(jī)行業(yè)調(diào)研及趨勢分析報告
- 2025年度個人借款延期還款及擔(dān)保人責(zé)任合同2篇
- 2025年度個人房產(chǎn)交易定金擔(dān)保合同范本2篇
- 2025年度企業(yè)間技術(shù)秘密保密及合作開發(fā)合同4篇
- 勵志課件-如何做好本職工作
- 2024年山東省濟(jì)南市中考英語試題卷(含答案解析)
- 2024年社區(qū)警務(wù)規(guī)范考試題庫
- 2024年食用牛脂項(xiàng)目可行性研究報告
- 靜脈治療護(hù)理技術(shù)操作標(biāo)準(zhǔn)(2023版)解讀 2
- 2024年全國各地中考試題分類匯編(一):現(xiàn)代文閱讀含答案
- 2024-2030年中國戶外音箱行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略分析報告
- GB/T 30306-2024家用和類似用途飲用水處理濾芯
- 家務(wù)分工與責(zé)任保證書
- 消防安全隱患等級
- 溫室氣體(二氧化碳和甲烷)走航監(jiān)測技術(shù)規(guī)范
評論
0/150
提交評論