- 1、本文档共130页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C第七章指针讲义
第7章 指针;指针的概念;1、直接访问;变量的指针和指向变量的指针变量;指针变量同样也可以赋值:;;指针变量的引用;void main(void)
{ int a, b;
int *p1, *p2;
p1=a; p2=b;
*p1=10; *p2=100;
couta‘\t’bendl;
cout*p1‘\t’*p2endl;
} ;void main(void)
{ int a, b;
int *p1, *p2;
*p1=10; *p2=100;
couta‘\t’bendl;
cout*p1‘\t’*p2endl;
} ;输入a, b两个整数,按大小输出这两个数。;int a=3, *p;
p=a;;int a=3, *p;
p=a;;int a=3, *p;
p=a;;int a=3, *p;
p=a;;指针变量作为函数参数:
函数的参数可以是指针类型,它的作用是将一个变量的地址传送到另一个函数中。;输入a, b两个整数,按大小输出这两个数。;输入a, b两个整??,按大小输出这两个数。;用指针变量作函数参数,在被调函数的执行过程中,应使指针变量所指向的参数值发生变化,这样,函数在调用结束后,其变化值才能保留回主调函数。;void grt(int *x , int *y , int *z)
{ cout ++*x‘,’ ++*y‘,’*(z++)endl;}
int a=10, b=40, c=20;
void main(void)
{ prt (a, b, c);
prt (a, b, c);
} ;void main(void)
{ int a=0, i, *p, sum;
for (i=0; i=2; i++)
{ p=a;
cin*p;
sum=s(p);
cout“sum=”sumendl;
}
};sub( int *s)
{ static int t=0;
t=*s + t;
return t;
}
void main(void)
{ int i, k;
for (i=0; i4; i++)
{ k=sub(i);
cout“sum=“k‘\t’;
}
cout“\n”;
};int *p;
void main(void)
{ int a=1, b=2, c=3;
p=b;
pp(a+c, b);
cout“(1)”a‘ ‘b‘ ‘*pendl;
}
pp(int a, int *b)
{ int c=4;
*p=*b+c;
a=*p-c;
cout“(2)”a‘ ‘*b‘ ‘*pendl;
};举例:最大最小值、方程根;数组的指针和指向数组的指针变量;一、指向数组元素的指针变量的定义与赋值;二、通过指针引用数组元素;*(a+1)=2;;用指向数组的指针变量输出数组的全部元素;void main(void)
{ int x[ ]={1,2,3};
int s, i, *p;
s=1; p=x;
for (i=0; i3; i++)
s*=*(p+i);
coutsendl;
} ;static int a[ ]={1, 3,5, 7, 11, 13};
main( )
{ int *p;
p=a+3;
cout*p\t(*p++)endl;
cout*(p-2)\t*(a+4)endl;
};三、数组名作函数参数;void main(void)
{ int array[10];
......
f(array, 10);
.....
};;2、实参用数组名,形参用指针变量;3、形参实参都用指针变量;4、实参为指针变量,形参为数组名;将数组中的n个数按相反顺序存放。;void inv(int *x, int 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;
}
} ;输入10个整数,将其中最小的数与第一个数对换,把最
文档评论(0)