《c语言程序设计》第十章_第1页
《c语言程序设计》第十章_第2页
《c语言程序设计》第十章_第3页
《c语言程序设计》第十章_第4页
《c语言程序设计》第十章_第5页
已阅读5页,还剩90页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第十章指针编辑ppt§1指针的概念编辑ppt一、存储器的内部结构

2000200220042006369编辑ppt

main(){inti,j,k;scanf("%d",&i);j=6;k=i+j;printf("%d",k);}编辑ppt

2000200220042006369直接访问

ijk程序经编译后,变量名就不复存在,以地址对应。编辑ppt

1.直接访问

对变量值的存取总是按地址进行。2.间接访问利用指针变量编辑ppt

指针变量间接访问int*p;p=&j;*p=6;若p是存放变量j的地址的指针变量则*p是指针变量

p所指的对象(即变量

j)20006j2000p指针运算符取地址运算符编辑ppt

二、指针变量的定义编辑ppt

1.定义

指针变量:用来存放变量地址的变量

如:p所对应的地址是3010,对应的内容是2000,2000就是i所对应的地址,因此,p是存放变量

i的地址的变量。

变量的指针:就是变量的地址

如i所对应的内存地址是2000,则i的指针就是2000ip2000620003010编辑ppt

2.指针变量有两种运算符:&:取地址运算符,如:p=&i;*:指针运算符。如:*p,它与i等价编辑ppt3.指针变量的定义形式类型标识符*指针名其中:类型标识符:指出指向何种数据类型的变量指针名:表示指针变量名.例:

int*p1,*p2;float*pf;编辑ppt

三、指针的初始化编辑ppt

指针初始化的一般形式:类型标识符*指针名=初始化地址编辑ppt

例:

inti,j;

int*p1=&i;int*p2=&j;

&i&jp1p2ji编辑ppt说明:(1)一个指针变量只能指向同一类型的变量。如:

inti,*p1;floata;p1=&i;合法

p1=&a;不合法。(2)也可采用赋值号将一个指针的值传递给另一个指针例:inti,j;int*p1,*p2;p1=&i;p2=p1;(3)将指针初始化为空指针例:int*p=NULL;

编辑ppt五、指针的运算1.赋值运算2.算术运算编辑ppt

main(){inta,*p1,*p2;a=123;p1=&a;p2=p1;printf("%d,%d,%d\n",a,*p1,*p2);printf("%p,%p,%p\n",&a,p1,p2);printf("%p,%p,%p\n",&a,&p1,&p2);}fff4fff4123p1p2afff0fff2fff4结果:123,123,123Fff4,fff4,fff4Fff4,fff2,fff01.赋值运算编辑ppt

2.算术运算int*p1,x,y;p1=&x;p1++;p1--;p1=p1+9;2000200220042006p1编辑ppt§2指向变量的指针变量编辑ppt例1

输入a,b两个整数,通过比较以后,用指针方法按先大后小的顺序输出.方法1:main(){int*p1,*p2,*p,a,b;scanf("%d,%d",&a,&b);p1=&a;p2=&b;if(a<b){p=p1;p1=p2;p2=p;}printf("a=%d,b=%d\n",a,b);printf("max=%d,min=%d\n",*p1,*p2);输入:5,9输出:a=5,b=9max=9,min=5交换前交换后ffd2ffd8ffdap1ffd4ffdaffd8p2ffd620ffd8pffd855affda99b

只交换了指针的值,没有交换变量的值编辑ppt方法2:swap(int*p1,int*p2){intp;p=*p1;*p1=*p2;*p2=p;}main(){inta,b,*p11,*p12;scanf("%d,%d",&a,&b);p11=&a;p12=&b;if(a<b)swap(p11,p12);printf("max=%d,min=%d\n",a,b);}运行:输入:5,9输出:max=9,min=5

ffca5p┆ffd0ffd4p1ffd2ffd6p2ffd459affd695bffd8ffd4p11ffdaffd6p12编辑ppt方法3:swap(int*p1,int*p2){int*p;p=p1;p1=p2;p2=p;}main(){inta,b,*p11,*p12;scanf("%d,%d",&a,&b);p11=&a;p12=&b;if(a<b)swap(p11,p12);printf("max=%d,min=%d\n",a,b);}该方法是错误的。原因:单向的值传递,当函数调用返回后,分配的单元被释放了.

编辑ppt例2

输入a,b,c三个整数,按从大到小顺序输出swap(int*pt1,int*pt2){intp;p=*pt1;*pt1=*pt2;*pt2=p;}exchange(int*q1,int*q2,int*q3){if(*q1<*q2)swap(q1,q2);if(*q1<*q3)swap(q1,q3);if(*q2<*q3)swap(q2,q3);}main(){inta,b,c,*p1,*p2,*p3;scanf("%d,%d,%d",&a,&b,&c);p1=&a;p2=&b;p3=&c;exchange(p1,p2,p3);printf("a=%d,b=%d,c=%d\n",a,b,c);}输入:9,0,10输出:

a=10,b=9,c=0ffc090pffc2ffccffcept1ffc4ffdoffd0pt2ffc6ffccq1ffc8ffceq2ffcaffd0q3ffcc91010affce009bffd01090cffd2ffccp1ffd4ffcep2ffd6ffd0p3编辑ppt§3指向数组的指针变量编辑ppt

一、指向数组元素的指针变量编辑ppt

定义一个指向数组元素的指针变量:1.变量的声明2.变量的初始化编辑ppt

例:inta[5];int*p;p=a;p=&a[0];ffca2a[0]ffcca[1]ffcea[2]ffd0a[3]ffd2a[4]ffd4ffcapffca2a[0]ffcca[1]ffcea[2]ffd0a[3]ffd2a[4]ffd4ffcap编辑ppt

二、通过指针引用数组元素1.只使用指针2.使用指针和下标3.使用带下标的指针变量编辑ppt

1.只使用指针例题:要求输出数组a的5个元素的值main(){inti,a[5];for(i=0;i<5;i++)scanf("%d",&a[i]);for(i=0;i<5;i++)printf("%d",a[i]);}编辑ppt

main(){int*p,i,a[5];p=a;for(i=0;i<5;i++)scanf("%d",p++);p=a;for(i=0;i<5;i++)printf("%d",*p++);}ffca2a[0]ffcca[1]ffcea[2]ffd0a[3]ffd2a[4]ffd4ffcap编辑ppt

例如:p++*++p*p--*--pp++*(++p)*(p--)*(--p)编辑ppt

2.使用指针和下标main(){int*p,i,a[5];p=a;for(i=0;i<5;i++)scanf("%d",p++);p=a;printf("%d",a[2]);printf("%d",*(p+2));}ffca2a[0]ffcca[1]ffcea[2]ffd0a[3]ffd2a[4]ffd4ffcap编辑ppt

3.使用带下标的指针变量main(){int*p,i,a[5];p=a;for(i=0;i<5;i++)scanf("%d",p++);p=a;for(i=0;i<5;i++)printf("%d",p[2]);}ffca2a[0]ffcca[1]ffcea[2]ffd0a[3]ffd2a[4]ffd4ffcap编辑ppt

三、数组名作函数参数编辑ppt例:将数组a中n个整数按相反顺序存放算法:a[0]a[n-1]a[1]a[n-2]┆a[(n-1)/2]a[n-1-(n-1)/2)]x[0]x[1]x[2]x[3]x[4]x[5]x[6]x[7]x[8]x[9]a[0]a[1]a[2]a[3]a[4]a[5]a[6]a[7]a[8]a[9]3791106754224576011973mij编辑ppt例:将数组a中n个整数按相反顺序存放算法:a[0]a[n-1]a[1]a[n-2]┆a[(n-1)/2]a[n-1-(n-1)/2)]方法1实参,形参均为数组名voidinv(x,n)intx[],n;{intt,i,j,m=(n-1)/2;for(i=0;i<=m;i++){j=n-1-i;t=x[i];x[i]=x[j];x[j]=t;}return;}main(){staticinti,a[10]={3,7,9,11,0,6,7,5,4,2};inv(a,10);for(i=0;i<10;i++)printf(“%d,”,a[i]);}x[0]x[1]x[2]x[3]x[4]x[5]x[6]x[7]x[8]x[9]a[0]a[1]a[2]a[3]a[4]a[5]a[6]a[7]a[8]a[9]3791106754224576011973mijij09tx[0]=3,x[0]x[9]=2,x[9]t=318tx[1]=7,x[1]x[8]=4,x[8]t=727tx[2]=9,x[2]x[7]=5,x[7]t=936tx[3]=11,x[3]x[6]=7,x[6]t=1145tx[4]=0,x[4]x[5]=6,x[6]t=0编辑ppt方法2实参为数组名,形参为指针变量voidinv(x,n)int*x,n;{int*p,t,*i,*j,m=(n-1)/2;i=x;j=x+n-1;p=x+m;for(;i<=p;i++,j--){t=*i;*i=*j;*j=t;}return;}main(){staticinti,a[10]={3,7,9,11,0,6,7,5,4,2};inv(a,10);for(i=0;i<10;i++)printf(“%d,”,a[i]);}i,x32a[0]74a[1]95a[2]117a[3]p=x+m06a[4]60a[5]711a[6]59a[7]47a[8]j23a[9]t3,*i2,*j3t7,*i4,*j7t9,*i5,*j9t11,*i7,*j11t0,*i6,*j0编辑ppt方法3实参,形参均为指针变量名voidinv(x,n)int*x,n;{int*p,t,*i,*j,m=(n-1)/2;i=x;j=x+n-1;p=x+m;for(;i<=p;i++,j--){t=*i;*i=*j;*j=t;}return;}main(){staticinti,a[10],*p=a;for(i=0;i<10;i++)scanf(“%d,”,p++);p=a;inv(p,10);p=a;for(i=0;i<10;i++)printf(“%d,”,*p++);}i,x32a[0]74a[1]95a[2]117a[3]p=x+m06a[4]60a[5]711a[6]59a[7]47a[8]j23a[9]t3,*i2,*j3t7,*i4,*j7t9,*i5,*j9t11,*i7,*j11t0,*i6,*j0编辑ppt方法4实参为指针变量,形参为数组.voidinv(x,n)intx[],n;{intp,t,i,j,m=(n-1)/2;for(i=0;i<=m;i++){j=n-1-i;t=x[i];x[i]=x[j];x[j]=t;}return;}main(){staticinti,a[10],*p=a;for(i=0;i<10;i++)scanf(“%d,”,p++);printf(“\n”);p=a;inv(p,10);p=a;for(i=0;i<10;i++)printf(“%d”,*p++);}i,x32a[0]74a[1]95a[2]117a[3]p=x+m06a[4]60a[5]711a[6]59a[7]47a[8]j23a[9]t3,*i2,*j3t7,*i4,*j7t9,*i5,*j9t11,*i7,*j11t0,*i6,*j0编辑ppt归纳:在被调用函数中改变数组的值,实参、形参的取值,有四种情况:(1)实、形参都是数组名

main()f(x,n){inta[10]intx[],n;┆{f(a,10);┆┆}}(2)实参为数组名,形参为指针变量

main()f(x,n){inta[10]int*x,n;┆{f(a,10);┆┆}}

a[0]x[0]a[1]x[1]┆┆a[9]x[9]

xa[0]a[1]┆┆a[9]编辑ppt(3)形、实参都是指针变量

main()f(x,n){inta[10],*p;int*x,n;┆{p=a;f(p,10);┆┆}}(4)实参为指针变量,形参为数组

main()f(x,n){inta[10],*p;intx[],n;┆{p=a;f(p,10);┆┆}}

x、pa[0]

a[1]┆a[9]

pa[0]x[0]a[1]x[1]┆a[9]x[9]编辑ppt例2用选择法对10个整数按从大到小顺序排列main(){int*p,i,a[10];p=a;for(i=0;i<10;i++)scanf(“%d”,p++);p=a;sort(p,10);for(p=a,i=0;i<10;i++){printf(“%d”,*p);p++;}}sort(x,n)intx[],n;{inti,j,k,t;for(i=0;i<n-1;i++){k=i;for(j=i+1;j<n;j++)if(x[j]>x[k])k=j;if(k!=i){t=x[i];x[i]=x[k];x[k]=t;}}}输入:13-268-19245p1a[0],x[0]3a[1],x[1]-2a[2],x[2]6a[3],x[3]8a[4],x[4]-1a[5],x[5]9a[6],x[6]2a[7],x[7]4a[8],x[8]5a[9],x[9]x[0]x[1]x[2]x[3]x[4]x[5]x[6]x[7]x[8]x[9]a[0]a[1]a[2]a[3]a[4]a[5]a[6]a[7]a[8]a[9]13-268-1924591836-25-2433-121编辑pptij01k=0x[1]>x[0]k=12x[2]>x[1]3x[3]>x[1]k=34x[4]>x[3]k=45x[5]>x[4]6x[6]>x[4]k=67x[7]>x[6]8x[8]>x[6]9x[9]>x[6]tx[0]=1,x[0]x[6]=9x[6]t=112k=1x[2]>x[1]3x[3]>x[1]k=34x[4]>x[3]k=45x[5]>x[4]6x[6]>x[4]7x[7]>x[4]8x[8]>x[4]9x[9]>x[4]tx[1]=3,x[1]x[4]=8x[4]t=323k=2x[3]>x[2]k=34x[4]>x[3]5x[5]>x[3]6x[6]>x[3]7x[7]>x[3]8x[8]>x[3]9x[9]>x[3]tx[2]=-2,x[2]x[3]=6x[3]t=-234k=3x[4]>x[3]k=45x[5]>x[4]6x[6]>x[4]7x[7]>x[4]8x[8]>x[4]k=89x[9]>x[8]k=9tx[3]=-2,x[3]x[9]=5x[9]t=-245k=4x[5]>x[4]6x[6]>x[4]7x[7]>x[4]8x[8]>x[4]k=89x[9]>x[8]

tx[4]=3,x[4]x[8]=4x[8]t=356k=5x[6]>x[5]k=67x[7]>x[6]k=78x[8]>x[7]k=89x[9]>x[8]tx[5]=-1,x[5]x[8]=3x[8]t=-167k=6x[7]>x[6]k=78x[8]>x[7]9x[9]>x[7]tx[6]=1,x[6]x[7]=2x[7]t=178k=7x[8]>x[7]x[9]>x[7]

编辑ppt

四、指向多维数组的指针和指针变量编辑ppt关键是多维数组地址的转化问题

编辑ppt1、多维数组的地址

如定义

a2000a[0][0]2002a[0][1]2004a[0][2]2006a[0][3]a+12008a[1][0]2010a[1][1]2012a[1][2]2014a[1][3]a+22016a[2][0]2018a[2][1]2020a[2][2]2022a[2][3]

(1)编辑ppt(2)

a[0]a[0][0]a[0][1]a[0][2]a[0][3]a[1]a[1][0]a[1][1]a[1][2]a[1][3]

a[2]a[2][0]a[2][1]a[2][2]a[2][3]编辑ppt

说明:(1)a是二维数组的首地址。

a[0],a[1],a[2]是各一维数组的首地址。

a,a+1,a+2是各一维数组的首地址。a=2000,a+1=2008,a+2=2016a[0]=2000所以a=a[0]=&a[0][0]=2000编辑ppt

(2)a[0]+1=2002,a[0]+2=2004,a[0]+3=2006a+i=a[i]a[i]+j=&a[i][j]编辑ppt

(3)*(a[i]+j)=*(*(a+i)+j)例如:*(a+2)*(a+1)+3*(*(a+1)+3)编辑ppt例

二维数组元素及地址的输出main(){staticinti,j,a[2][2]={1,3,5,7};printf(“a=%x,a[0]=%x,a[1]=%x\n”,a,a[0],a[1]);printf(“a+0=%x,a+1=%x\n”,a+0,a+1);for(i=0;i<2;i++)for(j=0;j<2;j++)printf(“*(a+%d)+%d=%x,a[%d]+%d=%x,&a[%d][%d]=%x\n”,i,j,*(a+i)+j,i,j,a[i]+j,i,j,&a[i][j]);for(i=0;i<2;i++)for(j=0;j<2;j++)printf(“a[%d][%d]=%d,*(a[%d]+%d)=%d,*a(*(a+%d)+%d=%d\n”,i,j,a[i][j],i,j,*(a[i]+j),i,j,*(*(a+i)+j));}运行结果:a=194,a[0]=194,a[1]=198a+0=194,a+1=198*(a+0)+0=194,a[0]+0=194,&a[0][0]=194*(a+0)+1=196,a[0]+1=196,&a[0][1]=196*(a+1)+0=198,a[1]+0=198,&a[1][0]=198*(a+1)+1=19a,a[1]+1=19a,&a[1][1]=19aa[0][0]=1,*(a[0]+0)=1,*(*(a+0)+0)=1a[0][1]=3,*(a[0]+1)=3,*(*(a+0)+1)=3a[1][0]=5,*(a[1]+0)=5,*(*(a+1)+0)=5a[1][1]=7,*(a[1]+1)=7,*(*(a+1)+1)=7a、a[0]a[0]+01941a[0][0]a[0]+11963a[0][1]a[1]a[1]+01985a[1][0]a[1]+119a7a[1][1]编辑ppt

2.多维数组的指针编辑ppt

(1)定义例:inta[3][4],*p;p=a;p=&a[0][0];p=a[0];编辑ppt

(2).指向多维数组元素的指针变量1.只使用指针2.使用指针和下标3.使用带下标的指针变量编辑ppt

1.只使用指针main(){int*p,i,a[3][4];p=a;for(i=0;i<12;i++)scanf(“%d”,p++);p=a;for(i=0;i<12;i++)printf(“%d”,*p++);}ffca2a[0]ffcca[1]ffcea[2]ffd0a[3]ffd2a[4]ffd4ffcap编辑ppt

2.使用指针和下标a[I][j]mn位移量i*m+j编辑ppt

main(){int*p,i,a[3][4];p=a;for(i=0;i<12;i++)scanf(“%d”,p++);p=a;printf(“%d”,*(p+2*4+2));}编辑ppt

3.使用行指针main(){staticinta[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};int(*p)[4],i,j;p=a;scanf(“i=%d,j=%d”,&i,&j);printf(“a[%d,%d]=%d\n”,i,j,*(*(p+i)+j));}a2000a[0][0]2002a[0][1]2004a[0][2]2006a[0][3]a+12008a[1][0]2010a[1][1]2012a[1][2]2014a[1][3]a+22016a[2][0]2018a[2][1]2020a[2][2]2022a[2][3]

编辑ppt

例1:有一个班,30个学生,各学4门课,求总平均分数以及第n个学生的成绩。编辑ppt

main(){voidaver(float*p,intn);voidsearch(float(*p)[4],intn);floatscore[3][4]={{65,88,9,77},{65,88,9,77},{65,88,9,77},{65,88,9,77}};aver(*score,12);search(score,2);}voidaver(float*p,intn){float*p1;floatsum=0,aver;p1=p+n-1;for(;p<=p1;p++)sum+=(*p);aver=sum/n;printf(“%5.2f\n”,aver);}voidsearch(float(*p)[4],intn){intI;for(I=0;I<4;I++)printf(“%5.2f”,*(*(p+n)+I));}编辑ppt§4指向字符串的指针变量编辑ppt一、字符串的表示形式字符串:用双引号括起的一串字符.它可以赋给字符类型的数组或字符类型的指针变量,可以用字符型数组名或字符类型指针变量输出1.用字符类型的数组staticchars1[]={“Ilovechina!”};2.用字符型指针变量staticchar*s2=“Ilovewuhan!”;staticchar*s2;s2=“Ilovewuhan!”;Is1[0]s1[1]ls1[2]os1[3]vs1[4]es1[5]s1[6]cs1[7]hs18]is1[9]ns1[10]as1[11]!s1[12]\0s1[13]Is2+1l+2o+3v+4e+5+6cs2+7s2hina!\0编辑ppt例1用字符数组和字符型指针变量输出字符串main(){staticchars1[]=“Ilovechina!”;staticchar*s2=“Ilovewuhan!”;printf(“s1=%s\n”,s1);printf(“s2=%s\n”,s2);s2=s2+7;/*能否使用s1=s1+7?*/printf(“s2=%s\n”,s2);}运行结果:s1=Ilovechina!S2=Ilovewuhan!S2=wuhanIs1[0]s1[1]ls1[2]os1[3]vs1[4]es1[5]s1[6]cs1[7]hs18]is1[9]ns1[10]as1[11]!s1[12]\0s1[13]Is2+1l+2o+3v+4e+5+6cs2+7s2hina!\0编辑ppt

二、通过指针引用字符串中的字符1.只使用指针2.使用指针和下标3.使用带下标的指针变量编辑ppt

例2.将字符串A复制到字符串B/*可用strcpy函数实现*/编辑ppt1.

用下标法存取字符串中的字符main(){chara[]=“Iamaboy.”,b[20];inti;for(i=0;*(a+i)!=‘\0’;i++)*(b+i)=*(a+i);*(b+i)=‘\0’;printf(“stringais:%s\n”,a);printf(“stringbis:”);for(i=0;b[i]!=‘\0’;i++)printf(“%c”,b[i]);printf(“\n”);}运行结果:stringais:Iamaboy.stringbis:Iamaboy.Ia[0]a[1]aa[2]ma[3]a[4]aa[5]a[6]ba[7]oa[8]ya[9].a[10]\0a[11]Ib[0]b[1]ab[2]mb[3]b[4]ab[5]b[6]bb[7]ob[8]yb[9].b[10]\0b[11]b[12]┆b[18]b[19]编辑ppt2.

用指针法存取字符串中的字符main(){chara[]=“Iamaboy.”;charb[20],*p1,*p2;inti;p1=a;p2=b;for(;*p1!=‘\0’;p1++,p2++)*p2=*p1;*p2=‘\0’;printf(“stringais:%s\n”,a);printf(“stringbis:”);for(i=0;b[i]!=‘\0’;i++)printf(“%c”,b[i]);printf(“\n”);}运行结果:stringais:Iamaboy.stringbis:Iamaboy.Ia[0]a[1]aa[2]ma[3]a[4]aa[5]a[6]ba[7]oa[8]ya[9].a[10]\0a[11]Ib[0]b[1]ab[2]mb[3]b[4]ab[5]b[6]bb[7]ob[8]yb[9].b[10]\0b[11]b[12]┆b[18]b[19]p1p2编辑ppt

三、字符型数组作函数参数编辑ppt

方法1实参,形参均为数组名main(){chara[]=“Iamaboy.”,b[20];printf(“stringais:%s\n”,a);Copy_string(a,b);printf(“stringbis:%s\n”,b);}voidCopy_string(from,to)charfrom[],to[];{inti=0;while(from[i]!=‘\0’){to[i]=from[i];i++)to[i]=‘\0’;}编辑ppt

方法2实参为数组名,形参为指针变量main(){chara[]=“Iamaboy.”,b[20];printf(“stringais:%s\n”,a);Copy_string(a,b);printf(“stringbis:%s\n”,b);}voidCopy_string(from,to)char*from,*to;{for(;*from!=‘\0’;from++,to++)*to=*from;*to=‘\0’;}编辑ppt

方法3实参,形参均为指针变量名main(){char*a=“Iamaboy.”,*b;printf(“stringais:%s\n”,a);Copy_string(a,b);printf(“stringbis:%s\n”,b);}voidCopy_string(from,to)char*from,*to;{for(;*from!=‘\0’;from++,to++)*to=*from;*to=‘\0’;}编辑ppt

方法4实参为指针变量名,形参均为数组名main(){char*a=“Iamaboy.”,*b;printf(“stringais:%s\n”,a);Copy_string(a,b);printf(“stringbis:%s\n”,b);}voidCopy_string(from,to)charfrom[],to[];{inti=0;While(from[i]!=‘\0’){to[i]=from[i];i++)to[i]=‘\0’;}编辑ppt

例2写一个函数,求一个字符串的长度。编辑ppt

main(){intlen;charstr[20];scanf(“%s”,str);len=length(str);printf(“len=%d”,len);}length(p)char*p;{intn=0;while(*p!=‘\0’){n++;p++;}return(n);}编辑ppt例2输入一行文字,求出其中的大写字母,小写字母,空格及其他字符各多少。

编辑ppt

main(){inta1=0,a2=0,a3=0,a4=0,a5=0,i;char*p,s[20];scanf(“%s”,s);

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论