全国计算机二级c语言学习指南课件与历年真题精讲精析 第14章
五、函数之间结构体变量的数据传递 1、向函数传递结构体变量的成员 结构体变量中的每个成员可以是简单变量、数组或指针变量等,作为成员变量,它们可以参与所属类型允许的任何操作。 2、向函数传递结构体变量 结构体变量作实参时,传递给函数对应形参的是它的值,函数体内对形参结构体变量中任何成员的操作,都不会影响对应实参中成员的值。 3、4、传递结构体的地址 对应形参应是一个基类型相同的结构体类型的指针变量,系统给此指针分配一个存储单元即可,存储实参地址值。 5、函数的返回值是结构体类型(例14.3) 6、函数的返回值可以是指向结构体变量的指针类型(例14.4) 六、利用结构体变量构成链表 1、结构体中含有可以指向本结构体的指针成员 当一个结构体中有一个或多个成员是指针,它们的基类型就是本结构体类型时,通常把这种结构体称为可以“引用自身的结构体”。 如: struct link { char ch; struct link *p; }a; p是一个可以指向struct link类型变量的指针,因此a.p=a是合法的表达式。 建立链表 见例14.6。 2、建立带有头结点的单向链表 (1)建立单向链表 见例14.7。 (2)顺序访问链表中各结点的数据域 见例14.8。 (3)在单向链表中插入结点 见例14.9。 (4)删除单向链表中的结点 练习:有以下结构体说明和变量的定义,且指针p指向变量a,指针q指向变量b,则不能把结点b连接到结点a之后的语句是____。 struct node{ char data; struct node *next; }a,b,*p=a,*q=b; A)a.next=q; B)p.next=b; (a).next=b C)p-next=b; D)(*p).next=q; √ 练习:下面程序执行后的输出结果是____。 struct NODE{int num; struct NODE *next;}; main() {struct NODE *p,*q,*r; p=(struct NODE*)malloc(sizeof(struct NODE)); q=(struct NODE*)malloc(sizeof(struct NODE)); r=(struct NODE*)malloc(sizeof(struct NODE)); p-num=10; q-num=20; r-num=30; p-next=q; q-next=r; printf(“%d”,p-num+q-next-num); } A)10 B)20 C)30 D)40 √ 练习:下面程序执行后的输出结果是____。 struct NODE{int num; struct NODE *next;}; main() {struct NODE s[3]={{1,’\0’},{2,’\0’},{3,’\0’}},*p,*q,*r; 给指针赋空值 int sum=0; s[0].next=s+1; s[1].next=s+2; s[2].next=s; p=s; q=p-next; r=q-next; sum+=q-next-num; sum+=r-next-next-num; printf(“%d”sum); } A)3 B)4 C)5 D)6 √ struct NODE*s=s[0] s[0].next=s[0]+1=s[1] s[1].next=s[0]+2=s[2] s[2].next=s[0] p=s[0] q=s[0].next=s[1] r=s[1].next=s[2] sum=0+s[1].next-num =0+s[2].num=3 sum=3+s[2].next-next-num =3+s[0].next-num =3+s[1].num=5 2011年下半年真题:有以下程序#include stdio.h main(){ struct node{int n; struct node *next;} *p; struct node x[3]={{2,x+1},{4,x+2},{6,NULL}}; p=x; struct node*x=x[0] printf(“%d,”,p-n); (x[0])-n x[0].n printf(“%d\n”,p-next-n);}程序运行后的输出结果是 A) 2,3 B) 2,4 C) 3,4 D
您可能关注的文档
最近下载
- BYK技术手册_润湿分散剂.pdf VIP
- 中职语文高教版2023基础模块下册《在庆祝中国共产党成立100周年大会上的讲话》 课件.pptx VIP
- 2026年Java架构师面试题及答案.docx VIP
- 吉利-博越-产品使用说明书-2016款 博越1.8TD 6AT两驱型-MR6453C04-吉利NL-3车型用户手册V0.8_20160530(部分功能描述文字修改).pdf VIP
- 人教版八年级数学下册重难点专题提升精讲精练专题09矩形、菱形、正方形的性质与判定重难点题型专训(原卷版+解析).docx VIP
- 2025年江苏省南京市中考物理临考预测仿真模拟练习卷.docx VIP
- 吉利博越产品手册.pptx VIP
- 2014-2023年北京高考真题与模拟试题:导数及其应用(解析版).pdf VIP
- 173页《华为数据之道》读书笔记课件.pptx VIP
- 骐骥驰骋,逐光前行——2026学年下学期七年级(初一)开学第一课主题班会课件-2025-2026学年初中主题班会优质课件.pptx VIP
原创力文档

文档评论(0)