C语言程序设计立体化教程课件:指向结构体和结构体数组的指针_第1页
C语言程序设计立体化教程课件:指向结构体和结构体数组的指针_第2页
C语言程序设计立体化教程课件:指向结构体和结构体数组的指针_第3页
C语言程序设计立体化教程课件:指向结构体和结构体数组的指针_第4页
C语言程序设计立体化教程课件:指向结构体和结构体数组的指针_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

指针实现学生综合测评成绩管理指向结构体和结构体数组的指针指向结构体一个结构体变量的指针就是该变量在内存中的起始地址。1.指向结构体变量的指针定义和赋值例:structstudentstu1,*sp;sp=&stu1;结构体指针变量定义指向结构体指针变量的赋值指向结构体(2)结构体指针变量引用结构体变量。

(*sp).成员名

sp->成员名例如:(*sp).id,(*sp).name,(*sp).avg或sp->avg结构体成员的引用方法:(1)用结构体变量名引用结构体成员。

这种方法我们在前面已经学习过。如:stu1.id,,sut1.sex,stu1.avg等。举例用结构体指针变量引用的方式输出一个学生的信息。#include"stdio.h"main(){struct{charid[6],name[10];intm1,m2,m3;floatavg;}x={"00101","李小明",87,88,92},*sp;sp=&x;printf("%s\t%s\t%5d%5d%5d\n",sp->id,sp->name,sp->m1,sp->m2,sp->m3);printf("%s\t%s\t%5d%5d%5d\n",(*sp).id,(*sp).name,(*sp).m1,(*sp).m2,(*sp).m3);}指向结构体数组的指针structstudent{charid[6];charname[10];intm1,m2,m3;floatavg,sum;}stu1[10];//定义结构体数组。

structstudent*sp;//定义结构体类型指针。

sp=stu1;//将结构体数组首地址送给结构体指针。说明:当前sp指针指向数组首地址。

执行sp++后指针指向下一个数组单元;执行sp--后指针指向上一个数组单元。所以使用指针变量可以方便的在结构体数组中移动。举例用结构体指针变量引用的方式输出学生的信息。#include"stdio.h"#defineN3structstu{charid[6];charname[10];intm1,m2,m3;floatavg,sum;};main(){stustudent[N]={{"001","李小明",78,89,90},{"008","陈小东",85,81,67},{"016","王永民",89,78,90}},*sp;inti;sp=student;for(i=0;i<N;i++,sp++){sp->sum=sp->m1+sp->m2+sp->m3;sp->avg=sp->sum/3.0;}sp=student;printf("他们的成绩单为:\n");printf("学号\t姓名\t数学英语

语文

总分

平均分\n");for(i=0;i<N;i++,sp++)printf("%s\t%s\t%d%6d%7d%7.1f%6.1f\n",(*sp).id,(*sp).name,(*sp).m1,(*sp).m2,(*sp).m3,(*sp).sum,(*sp).avg);}#include<stdio.h>#include<math.h>#include<stdlib.h>voidmain(){inti,n;structaxy{floatx,y;};/*****1*****/structaxya;/*****2*****/scanf("%d",n);a=(structaxy*)malloc(n*sizeof(structaxy));for(i=0;i<n;i++)scanf("%f%f",&a[i].x,&a[i].y);/*****3******/for(i=1;i<=n;i++) if(sqrt(pow(a[i].x,2)+pow(a[i].y,2))<=5){ printf("%f,",a[i].x); /***************4**************/printf("%f\n",a+i->y); }}

练一练修改错误,带有星号的下一行有错。structaxy*a;scanf("%d",&n);for(i=0;i<n;i++);printf(“%f\n”,(a+i)->y;printf(“%f\n”,a[i]->y;

课后练一练

用指针指向结构体数组实现:下列信息输入和输出。学号姓名性别QQ联

温馨提示

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

评论

0/150

提交评论