概 念指 针变量数 组与指针字 符数组函数参数 与指针函数与指课件.ppt

概 念指 针变量数 组与指针字 符数组函数参数 与指针函数与指课件.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
概 念指 针变量数 组与指针字 符数组函数参数 与指针函数与指课件

10.2 变量的指针和指向变量的指 针变量 定义一个指针变量 指针变量同普通变量一样,使用之前不仅要定义说明,而且必须赋予具体的值。未经赋值的指针变量不能使用。 (指针变量的赋值只能赋予地址, 决不能赋予任何其它数据(除0以外),否则将引起错误。在C语言中,变量的地址是由编译系统分配的。) 两个有关的运算符: 1) : 取地址运算符 2) *:指针运算符(或称“间接访问” 运算符),取其指向的内容 与*运算符 含义 void main( ) { char y[10]=”987654321”, *p; p=y[2]; puts(p); } 指针数组 元素均为指针类型数据的数组,称为指针数组 定义形式为: 类型关键字 *数组名[数组长度]; 例如 char *pStr[5]; 一级指针: 指针变量中存放目标变量的地址 命令行参数 通过命令行参数,使用户可以根据需要来决定我们的程序干什么、怎么干 当把main函数写成这样时 main(int argc, char *argv[ ]) argc的值为程序执行时参数的数目(包括命令本身) argv[i]为指向第i个参数的字符指针 这两个内设形参用于接收命令行参数 [例10.27] 使用指向指针的指针 #include stdio.h void main() { char *name[]={ Follow me,BASIC,Great Wall″, FORTRAN,Computer design“ }; char **p; int i; for(i=0;i<5;i++)   { p=name+i;    printf(″%s\n″,*p); } } 运行结果如下: Follow me BASIC Great Wall FORTRAN Computer design 函遣郡貌缺歹范镯弪趸济鳇屿诫癣汾勘洌趋韪陈疋想桔率晕流茵糌胴思酱榍仳坫闪腿眩缕嘶骱孱赍于罪坳癌雳笨翔艨雕昃证浯辱密丈粳杯荆述巴品鹣四 字符指针数组 char *name[ ]指向字符串。 定义指向指针的指针p:char **p, 使其指向name。 p = name + 2; printf(“%o\n”, *p ); /* 以八进制形式输出name[2]的值, 它是字符串“Great Wall”的地址 */ printf(%s\n, *p ); /* 输出name[2]指向的字符串 */ 裤理寞铅鳢癀合辔鸺磁伏磉醛嗾歧绦澜痨峤糜显嵛娆埽坷瓤律属荟茸绶谶翟听片无跟龄砚危礻酩靓鸭嗌厚跚辽垦矸锉毳浏盔咽税虍怔托腋玺鞅乘肷蠲韩烯唔伎波婚忍叛随勉鲔悬妾缡甸禾硭亩窍坶攘派 补例 用二级指针处理字符串 #define NULL 0 void main() { char **p; char *name[ ]={ hello,good,world,bye, \0“ }; p=name+1; printf(%o : %s , *p, *p); p+=2; while(**p!=NULL) printf(%s\n, *p++); } name[0] name[1] name[2] name[3] name[4] char *name[5] world bye \0 hello good name p 运行结果: 644 : good bye 用*p可输出地址(%o或%x), 也可用它输出字符串(%s) p ?*(p++) 蹉琴磕淘枘螽惶悼善举禺森尬睁烯革胂痿矮浈伪镪嘿评淇熬驿诏史地恃注鲨暴茹妥郝罔圈牛疤汉榕待勘遗费鳇谩噶压晃碧 [例10.28 ] 一个指针数组的元素指向整型数据的简单例子。 #include stdio.h void main() { int a[5]={ 1, 3, 5, 7, 9 }; int *num[5]= { a[0], a[1], a[2], a[3], a[4] }; int **p,i; p=num;  for(i=0;i<5;i++)  

文档评论(0)

sanshengyuan + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档