南昌工程学院c语言程序设计基础课件 第8讲 指针.pptVIP

南昌工程学院c语言程序设计基础课件 第8讲 指针.ppt

  1. 1、本文档共30页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
南昌工程学院c语言程序设计基础课件 第8讲 指针

八、指针与数组 int a[ ]={0,1,2,3,4,5,6,7,8,9], *p=a,i; 编写函数fun:将s所指字符串中除了下标为奇数、ascii值也为奇数的字符之外,其余的所有字符都删除,串中剩余字符所形成的一个新串放在t所指的一个数组中。 void fun(char *sp,char t[ ]) { int i,j=0,n; n=strlen(sp); for(i=0;in;i++) if(i%2!=0sp[i]%2!=0) { t[j]=sp[i]; j++; } t[j]=‘\0’; } 删去一维数组中所有相同的数,使之只剩一个,数组中的数已排序,输出删除后数组中数据的个数 int i=0,*t=a,j,k; for(k=0;kn;k++) { for(j=0;j=i;j++) if (a[j]==*t) break; if (ji) { a[j]=*t; i=j; } t++; } printf(“删除后数组中数据的个数=%d”,j+1);} 请编写一个函数,用来删除字符串中的所有空格 void fun(char *str) { int i=0; char *p; p=str; while (*p) { if(*p!=‘ ’) str[i++]=*p; p++;} str[i]=‘\0’;} 字符串中只包含字母和*号。编写fun:删除字符串前导和尾部的*号,形参n 给出了字符串的长度,h给出了前导*号的个数,e给出了尾部*个数。 void fun(char *a, int n, int h, int e) { int i=0; char *p; for(p=a+h;p<a+n-e;p++) { a[i]=*p; i++;} a[i]=‘\0’;} 指针与二维数组 1.二维数组地址的表示方法 int a[3][4]={{0,1,2,3}, {4,5,6,7}, {8,9,10,11}}; 由于C语言允许把一个二维数组分解为多个一维数组来处理,因此,数组a可分解为三个一维数组: a[0],a[1],a[2] 这三个元素又是一个一维数组,且都含有四个元素(相当于四列): a[0]所代表的一维数组所包含的四个元素为a[0][0],a[0][1],a[0][2],a[0][3] 。 但从二维数组的角度来看,a代表二维数组的首地址,当然也可看成是二维数组第0行的首地址。a+1就代表第1行的首地址,a+2就代表第2行的首地址。 如果此二维数组的首地址为1000,由于第0行有四个整型元素,所以a+1为1008,a+2为1016。 * 第七章 指 针 一 指针的概念 计算机中软件存入内存,都是按一定的地址来存放的,就象旅客住宾馆要按房号一样,计算机把房号叫地址,c语言中把地址叫指针。 在程序中定义了变量,计算机就会分配地址给变量用来存放变量的内容。 比如:int a=3,b=5,程序编译时就会随机分别给这两个变量分配二个地址别a:200 201 b:202 203 变量 地址 内容 a 200 201 3 b 202 203 5 就是地址。 假设有: int a=3,b=5; printf(“%d”,a); //找到a的地址200 201从中输出3。 scanf(“%d”,a); //输入的值送入地址200 201中。 这种按地址存取值的方式叫“直接访问”。 C语言除了“直接访问”还有一种“间接访问”。 定义一种特殊的变量如p用来存放变量地址,通过p=a来把a的地址200 201存放到p中,把p叫指针变量。 用来存放把变量地址的变量叫指针变量。 二、指针变量的定义: 基本类型 * 指针变量名 int *p1, *p2; float *a, *b; (1)(取地址运算符) int a=5, *p; p=a; //把a的地址给p,即p指向a (2)*(取内容运算符) 三、指针的基本操作 * 如*p //p 所指向的变量a 重要: p=a *p==a *p= ,*a= a *p float a[4]={5,6,1,2}; flo

文档评论(0)

kfcel5460 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档