PointerandArray指标与阵列.ppt

上传人:小飞机 文档编号:5444194 上传时间:2023-07-07 格式:PPT 页数:15 大小:206.49KB
返回 下载 相关 举报
PointerandArray指标与阵列.ppt_第1页
第1页 / 共15页
PointerandArray指标与阵列.ppt_第2页
第2页 / 共15页
PointerandArray指标与阵列.ppt_第3页
第3页 / 共15页
PointerandArray指标与阵列.ppt_第4页
第4页 / 共15页
PointerandArray指标与阵列.ppt_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《PointerandArray指标与阵列.ppt》由会员分享,可在线阅读,更多相关《PointerandArray指标与阵列.ppt(15页珍藏版)》请在三一办公上搜索。

1、Pointer and Array指標 與 陣列,double*a,b10;char name80,*np;,Pointer 指標,指標為正整數(或長正整數)變數,用來存放某特定數態的位址。double a,c,*b;/a 是 8-byte 浮點實數,b 是 double 指標 b=/將 b 所指向的浮點實數存為 c,8076,&a=8076,&c=8084,&b,8-byte,(*b),&a,Scanf(“format string”,list of pointers),int a,*ap;double b,*bp;ap=,Some Considerations,double a=5.0,*

2、ap;ap=,String=Character Array 字串,char fname80,achrc,*ap;scanf(“%s”,fname);/fname=“myprog.c”ap=/p,example,Array is a pointer with fixed address,c,&achr,m,y,p,r,o,g,.,c,o,fname,&ap,0,+1,+2,+3,+4,+5,+6,+8,ap=ap=&fname9,+9,+10,+11,.,Array of various types,char sss80;int na20;float farry30;struct int n;d

3、ouble x;sttt5;sttt3.n=1;sttt3.x=8.9;,Numeric Array,float X6;,X0,X1,X2,X3,X4,X5,X,X+1,X+2,X+3,X+4,X+5,0-3,4-7,8-11,12-15,16-19,20-23,value,pointer,location,X3=5;*(X+3)=5;,X+3;&X3,(x+1)代表下一個變數、真正的位置增量看數的型態而定,Array as an argument(example),double funsum(int,double*,char*);int main()int k,n=10;double xn3

4、0,sum;char ss40;for(k=0;kn;k+)xnk=1.0/(double)(k+1);sprintf(ss,“pass array dim(%d)”,n);sum=funsum(n,xn,ss);.return 0;double funsum(int nt,double*x,char*s)int k;double summ;printf(“%sn”,s);for(k=0;kn;k+)summ=summ+xk;return(summ);,結果:Pass array dim(10)Sum=0.909091,字串列印,char ss40;sprintf(ss,”This is a

5、string.”);/store 17字元 printf(“output=%sn”,ss);=sprintf(buf,format,variables);buf:記憶體緩衝區(字串位址)。format:字串,包含變數輸出格式(與 printf 同)variables:每一%格式所對應之變數。,Array and pointer,陣列變數本身是一個指標變數(pointer)陣列作為幅數傳遞時,傳遞的是位址(pass by address)與其他變數傳值不同(pass by value)。所以、在函數中改變陣列元素的值、會直接改變原呼叫函數中的陣列。當指標變數被賦予位址之後,用法和陣列變數完全相同

6、。如果指標指向超越陣列定義範圍,會產生 out of range 的錯誤,情況不穩定。,Honers method for Polynomial,fx=a(n);dfx=0.0;for(k=n;k0;k-)dfx=dfx*x+fx;fx=fx*x+ak-1;,Notice:dfx 要先於 fx,牛頓法解根(example),x1=xinit;do fdf=poly(x,a,n);dx=fdf.x(x,a,n)/fdf.y(x,a,n);x1-=dx;while(fabs(dx)xcrit);,Scheme,Read n,Read a0-an,Return n,Horingmethod,Return f&df,1,3,4,2,5,6,input n,a0-an,dx=df/f x=x-dx,|dx|xcrit?,end,no,yes,Read xinit,|xinit|100?,Output x,yes,no,Int,TwoDouble,Project.4 Root of polynomial,Using Newtons method found the root of f(x)=x5+2x4+4x3+8x2+3x+6 with xcrit=10-8 xinit=0.0,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号