- 8
- 0
- 约5.31千字
- 约 22页
- 2016-06-06 发布于湖北
- 举报
定义结构体的指针 struct 结构体名 *指针名; 如: struct Student { char name[10]; int age; }; struct Student s; struct Student *p; p=s; 用指针访问结构体的成员 (*p).name (*p).age * 指向结构体的指针 用指针直接访问结构体的成员可以用“-”符号 如上题中可以这样访问: p-name p-age 以下三条语句是等价的: s.age=1; (*p).age=1; p-age=1; 以下是错误的: p.name=“Jom”; p.age=5; s-name=“Jake”; s-age=10; p是一个指针,不是结构体变量,没有“.”操作 S是一个结构体变量,不是指针,没有“-”操作 * 指向结构体的指针 struct Student { char name[20]; int age; int sex; }; 编写一个函数change(),实现两个Student类型的变量的内容交换 * 指向结构体的指针 此题中,函数的形参若定义为: void change(struct Student s1, struct Student s2) 则形参s1和s2将接收Student类型的实参,是实参的拷贝,对s1和s2进行内容交换,对实参,不会产生任何影响。 因此,该函的形参应该定义为: void change(struct Student *p1, struct Student *p2) 形参p1和p2是Student类型的指针,将接收Student类型变量的地址,能够通过p1和p2对实参所指向的Student类型变量进行修改。 * void change(struct student *s1,struct student *s2) { struct student temp; strcpy(temp.name,s1-name); strcpy(s1-name,s2-name); strcpy(s2-name,temp.name); temp.age=s1-age; s1-age=s2-age; s2-age=temp.age; temp.sex=s1-sex; s1-sex=s2-sex; s2-sex=temp.sex; } * 指向结构体的指针 具体函数实现2,直接交换 void change(struct student *s1, struct student *s2) { struct student temp; temp=*s1; *s1=*s2; *s2=temp; } * int main() { int n,i,mini; float x,y,mint,t; struct student student1={wangyan,23,0}; struct student student2={zhangsan,24,1}; printf(交换前的信息:\n); printf(%s %d %d\n,student1.name,student1.age,student1.sex); printf(%s %d %d\n,student2.name,student2.age,student2.sex); printf(交换后的信息:\n); change(student1,student2); printf(%s %d %d\n,student1.name,student1.age,student1.sex); printf(%s %d %d\n,student2.name,student2.age,student2.sex); return 0; } * 运行结果: * 指向结构体的指针 将一些有序的数据放在数组中时,当发生数据增加和删除时,数组需要大量的移动操作,代价很高。 单项链表: 一个节点通过指针连接着下一个节点。节点的插入和删除只需要修改若干指针就可以,代价比数组小得多。 如:定义结构体用于建立一个学生数据的链表,链表中的学生按照年龄顺序存放。 struct Student { char name[20]; int age; struct Student *next; //Student类型的指针,指向下一个学生 }; * 指向结构体的指针 Name: Jom Age: 20 Next: Name: Lily
您可能关注的文档
- 期末考试补充题.ppt
- 如何安装DB2数据库【图解】.doc
- 如何解决桥梁充气芯模上浮?.ppt
- 横河记录仪常规设置方法.doc
- 煤矿标准班队范本.doc
- 气球是依靠什么升上高空的?.ppt
- 化学危险品常用.ppt
- 普通安全工具柜生产厂家.ppt
- 煤矿地质安全.ppt
- 连续工作制电动机的选择.ppt
- 2025年全国演出经纪人员资格认定考试试卷带答案(研优卷).docx
- 2025年全国演出经纪人员资格认定考试试卷完整版.docx
- 2025年全国演出经纪人员资格认定考试试题库及完整答案.docx
- 2025年全国演出经纪人员资格认定考试试卷完美版.docx
- 2025年全国演出经纪人员资格认定考试试卷含答案(实用).docx
- 2025年全国演出经纪人员资格认定考试试卷及答案(各地真题).docx
- 2025年下半年内江市部分事业单位公开考试招聘工作人员(240人)备考题库附答案.docx
- 2025年全国演出经纪人员资格认定考试试卷及答案1套.docx
- 2025年下半年四川成都市郫都区面向社会引进公共类事业单位人员2人备考题库最新.docx
- 2025年下半年内江市部分事业单位公开考试招聘工作人员(240人)备考题库附答案.docx
最近下载
- 山东事业编考试护理类历年真题共6套真题.pdf VIP
- 2024年湖北省高考数学试卷(含答案详解).docx
- 个旧市天黎冶炼厂铅银废料绿色环保综合利用项目.项目环境影响报告书.pdf VIP
- 悬架系统设计计算软件EXCEL.xls VIP
- 2025年北京市东城区中考英语一模试卷.pdf VIP
- 2016年湖北省武汉市中考物理试题.pdf VIP
- 《许三观卖血记中许三观的人物形象分析》6200字.docx VIP
- 九年级社会第二单元练习试卷.doc VIP
- 2025年青岛事业编题库及答案护理题.doc VIP
- 农业部953号公告-11.1-2007-转基因植物及其产品环境安全检测抗除草剂玉米-第1部分-除草剂耐受性.pdf VIP
原创力文档

文档评论(0)