- 1、本文档共16页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
cl二级C -针和链表jsleyx
指针和链表
§1.结构体
1.声明结构体类型
struct 结构体名
{
成员列表
}
例:
struct student
{
int num;
char name[20];
int age;
float score;
}
2.定义变量
(1).先定义类型再定义变量
如:类型如上定义,变量定义为:
struct student student1,student2
(2).定义类型的同时定义变量
struct 结构体名
{
成员列表
}变量列表;
(3).注:成员也可是结构体变量
如:struct date
{
int month;
int day;
int year;
}
struct student
{
int num;
…
struct date birthday;
} student1,student2;
(4).结构体类型变量的引用
1.不能将一个结构体变量作为一个整体进行输入和输出;如以下错误:
printf(%d,%s,%c,%d,%f,%s,student1)
只能引用单个成员,如下:
结构体变量名.成员名
2.如果成员本身又是一个结构体,则要用若干个成员运算符,一级一级地找到最低的一级成员:
student1. birthday. year
3.对成员变量可以像对普通变量一样进行各种运算
student1.age++;
4.可以引用成员的地址,也可以引用结构体变量的地址
scanf(%d,student1.num);
printf(%d,student1);
§2.指针
变量的指针和指向变量的指针变量
(1).基本概念
变量的指针就是变量的地址
(2).指针变量的定义
专门用来存放另一变量的地址的变量,称为指针变量。它的值为指针(地址)。
int i,j;
int *pointer1,*pointer2;
pointer1=i;
pointer2=j;
注:一个指针变量只能指向同一个类型的变量.
(3).指针变量的引用.
int a;
int *p;
a=10;
p=a;
prinf(%d,*p);
请指出以下的含义:
1 *p
2 *a
3 *p++ (相当于*(p++)
(4).例:输入a和b,按先大后小顺序输出
main()
{
int *p1,*p2,*p, a, b;
scanf(%d,%d,a,b);
p1=a; p2=b;
if(ab)
{
p=p1;p1=p2;p2=p;
}
printf(a=%d,b=%d\n,a,b);
printf(max=%d,min=%d\n,*p1,*p2)
}
指针变量做函数参数
要用函数实现两个变量值的交换,该如何实现?
(1).实现方案1:
swap(int x,int y)
{
int t;
t=x; x=y; y=t;
}
调用形式: swap(a,b)
结论:不能实现
(2). 实现方案2:改变指针形参的值
swap(int *p1,int *p2)
{
int *p;
p=p1;p1=p2;p2=p;
}
调用形式:swap(a,b)
结论:不能实现
(3). 实现方案3:交换*p1, *p2的值
swap(int *p1,int *p2)
{
int *p;
*p=*p1; //有错
*p1=*p2;
*p2=*p;
}
(4). 实现方案4:
swap(int *p1,int *p2)
{
int *p;
p=*p1;*p1=*p2;*p2=p;
}
调用形式: swap(a,b)
结论:成功
数组的指针
(1).概念
数组的指针是数组的起始地址
数组元素的指针是数组元素的地址.
(2). int a[10];
int *p;
p=a[0];等价p=a;
(3).通过指针引用数组元素
如上定义:
1.*p=1; //数组第0个元素赋值为1
2.p+i和a+i就是a[i]
3.*(p+i)或*(a+i)是a[i]
4.例:输入数组全部元素。
main()
{
int a[10];
int *p,i;
您可能关注的文档
最近下载
- 专利代理实务考前必背模板.doc VIP
- ГОСТ 17375-2001- 俄标弯头中文版.pdf
- 小学音乐教师业务考试试卷一(含答案).pdf VIP
- 建设单位设置业主代表的重要性一 - 莆田市交通投资集团有限公司.ppt
- 2024年国家开放大学《护理伦理学》形考(带答案).pdf VIP
- 国家科学技术进步奖提名书-中国发明协会.PDF
- 2024年国家开放大学(电大)-广告学(本科)笔试历年真题荟萃含答案.docx
- 广东省珠海市金湾区2022-2023学年四年级上学期期末语文试卷.docx VIP
- 小电流接地系统单相接地故障选线装置的设计本科学位论文.doc
- (2021更新)国家开放大学电大本科《企业信息管理》2021期末试题及答案(1055套).pdf
文档评论(0)