- 1、本文档共85页,可阅读全部内容。
- 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语言程序设计--chapter6-1
?设一个函数process,在调用它的时候,每次实现不同的功能。输入a和b两个数,第一次调用的时找出其中的大者,第二次调用的时找出其中的小者。第三次调用求两者之和。;第六章 指 针;数据存储区;取地址运算;数据存储区;间接对变量的访问方式:
首先要定义一个指针变量;
然后将一个同类型变量的地址赋给该指针变量(这时我们称指针变量指向该变量);;6.1.2 指针的类型与指针的定义;指针变量的赋值和初始化;2000;例 main( )
{ int i=10;
int *p;
*p=i;
printf(%d,*p);
};指针变量可进行的操作;例6.1:让两指针指向同一个变量
int a,*p1,*p2;
p1=a;
printf(%X,p1);
p2=p1;
*p2=3;
printf(%d,*p1);;例6.2: 使两个指针变量交换指向
main( )
{
int *p1,*p2,*p,i1=10,i2=20;
p1=i1;
p2=i2;
printf(%d,%d,*p1,*p2);
p=p1;
p1=p2;
p2=p;
printf(%d,%d,*p1,*p2);
};例6.3 交换两个指针变量所指向的变量的值;小结;6.1.4 指向指针的指针; 二级指针:指针变量中存放一级指针变量的地址;指向指针的指针变量的定义:;6.2 指针与数组;两指针要同时指向一个数组。;a[0];多种方法访问数组元素;(2)地址法:;main()
{ int a[5]={1,3,5,7,9};
int *p=a;
for( ; pa+5; p++)
printf(%d, *p );
};指针变量运算的注意点:; 指针变量的当前值;6.2.2 二维数组的指针表示方法;a[0];a[2];1016;a[2];a[i][j]
a[i]+j
*(a+i)+j;指向一维数组的指针变量;通过(*p)[j] 可以访问当前行第 j 列的元素;通过 *(*p+j) 的形式可以访问当前行第 j 列的元素。;main( )
{ int a[3][5]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};
int *p;
for(p=a[0]; pa[0]+3*5; p++) printf(%d,,*p);
printf(\n);
};用各种方法访问二维数组各元素;用各种方法访问二维数组各元素;main( )
{ int a[3][5]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};
printf(%d,%d,%d,a,a+1,a+2);
printf(%d,%d,%d,*a,*a+1,*a+2);
printf(%d,%d,%d,*(a+1),*(a+1)+1,*(a+1)+2);
printf(%d,%d,%d,*(a+2),*(a+2)+1,*(a+2)+2);
printf(%d,%d,%d,a[0],a[1],a[2]);
printf(%d,%d,%d,a[0][0],a[0][1],a[0][2]);
printf(%d,%d,%d,a[0],a[0]+1,a[0]+2);
printf(%d,%d,%d,*a,*(a+1),*(a+2));
printf(%d,%d,%d,*(a[1]+2),*(*(a+1)+2),a[1][2]);
};;;;;;;;6.2.3 指针与字符串;字符串的表示形式;字符串的表示形式;;!!!字符指针接受键入字符串时,必须先开辟存储空间;6.2.4 指针数组;赋值:
main( )
{ int b[3][3],*pb[3];
pb[0]=b[0];
pb[1]=b[1];
pb[2]=b[2];
……..
};赋值:
main( )
{ char *p[4];
p[0]= Fortran;
p[1]= Lisp;
p[2]= Basic;
p[3]= NULL;
……..
};指针数组主要用于字符串操作。;例6.13 在存储的一个班的学生姓名中,根据从键盘上输入的姓名,查找是否为该班学生。;例6.16 用双重指针输出二维数组元素。;6.3 指针与函数;main( )
{ void sub(int,int);
int x=2,y=6;
sub(x,y);
printf(%d,%d\n,x,y);
}
sub(int px
文档评论(0)