- 1、本文档共211页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
例 根据需要设置条件编译,能将字母全改为大写输出,或全改为小写字母输出。 10.1 结构体 10.2 共用体 10.3 枚举类型 10.4 用typedef定义类型 问题:学籍管理需要每个学生的下列数据:学号、姓名、性别、年龄、分数,请用C语言程序存储并处理一组学生的学籍。 单个学生学籍的数据结构 学号(num):int型 姓名(name):char [ ] 型 性别(sex):char型 年龄(age):int型 分数(score):float型 这些信息数据之间相互关联,适合看作一个整体。 但数据类型不一致,仅用已学数据类型无法解决。 需要构造一种新的数据类型————结构体。 10.1 结构体 10.1.1 定义(声明)结构体类型 struct [结构体名] { 数据类型1 成员名1; 数据类型2 成员名2; …… 数据类型n 成员名n; }; { }中是组成该结构体的成员。成员类型可以是基本型或构造型 struct是关键字, 不能省略 用户定义的合法标识符。 可省:无名结构体 末尾分号不能省 a[0] a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] a数组 p p+1,a+1 p+i,a+i p+9,a+9 a[0] a[1] a[2] a[3] a[9] ... p p+9 p+1 p+2 地址 元素 指针法 *p *(p+1) *(p+2) *(p+9) 下标法 指针的算术运算: p++, p--, p+i, p-i, p+=i, p-=i 若p1与p2指向同一数组,p1-p2=两指针间元素个数 8.5 指向指针的指针与指针数组 8.5.1 指向指针的指针 一级指针:指针变量中存放目标变量的地址 p1 p2 i 3 P2(指针变量) i(整型变量) 例 int **p1; int *p2; int i=3; p2=i; p1=p2; **p1=5; 二级指针:指针变量中存放一级指针变量的地址 例 int *p; int i=3; p=i; *p=5; i 3 P(指针变量) i(整型变量) 一级指针 单级间接寻址 二级指针 一级指针 目标变量 二级间接寻址 8.5.2 指针数组 1.指针数组的定义 指针数组是指一个数组的各个元素均为指针类型数据,即指针数组中的每一个元素都相当于一个指针变量。一维指针数组的定义形式如下: 类型名 *数组名[数组长度] 例如: int *num[4]; 相当定义了4个指针变量,分别是num[0],num[1],num[2],num[3],它们存贮四个整型变量的地址。 2.指针数组元素存贮普通变量的地址 int a=10,b=20,c=30; int *n[3]={a,b,c}; 相当于: n[0]=a; n[1]=b; n[2]=c; 3.指针数组元素存贮一维数组的首地址 int a[3]={1,2,3}; int b[3]={4,5,6}; int *p[2]; C规定数组名就是数组第一个元素的指针,所以可进行如下赋值: p[0]=a; p[1]=b; 8.6 指针与二维数组 二维数组名作为指针而言,其基类型是一维数组。 思考:a[i]+j 是何含义? a[0][3] a[0][2] a[0][1] a[0][0] a[1][3] a[1][2] a[1][1] a[1][0] a[2][3] a[2][2] a[2][1] a[2][0] a[0] a[1] a[2] a+0 a+1 a+2 a[0]+0 a[0]+1 a[0]+2 a[0]+3 a[1]+0 a[1]+1 a[1]+2 a[1]+3 a[2]+0 a[2]+1 a[2]+2 a[2]+3 a+i 表示指向二维数组第i行的指针 称之为“行指针” a[i]+j表示指向第i行第j列元素的指针 称之为“列指针” 访问数组元素 a[i][j] ? *(a[i]+j) ? *(*(a+i)+j) (1) 指向二维数组元素的指针变量 main() { static int a[3][4]={1,3,5,7,9,11,13,15,17,19,21,23}; int *p; for(p=a[0];pa[0]+12;p++) { if((p-a[0])%4==0) printf(\n); printf(%4d ,*p); } } p =*(a+0); p=a[0][0];
您可能关注的文档
- 配套课件 数据结构(C语言版)(第二版).ppt
- 配套课件 银行业法律法规.ppt
- 配套课件 《风险投资学》--王斌.ppt
- 配套课件 Access 2013数据库技术及应用.ppt
- 配套课件 计算机网络实验教程.ppt
- 大学军事之《中国国防》题库分享.pdf
- 2025年跨境电商行业ESG白皮书.docx
- 循环经济基金:2025年设定关键原材料的标准(英文版).docx
- 中国旅游行业年度报告2024.docx
- 2024年中国企业数字化转型典型案例集——制造行业.docx
- 五位一体教案教学教案设计.docx
- 思修与法基-教学教案分享.pptx
- 大学军事之《中国国防》题库分享.docx
- 2023版毛泽东思想和中国特色社会主义理论体系概论第五章-中国特色社会主义理论体系的形成发展.pdf
- 思修与法基 教学全案分享.docx
- 大学军事之《军事思想》题库分享.docx
- 《经济思想史》全套课件-国家级精品课程教案课件讲义分享.pdf
- 厦门大学国际金融全套资料(国家级精品课程)--全套课件.pdf
- 2023版毛泽东思想和中国特色社会主义理论体系概论第五章-中国特色社会主义理论体系的形成发展.docx
- 2023版毛泽东思想和中国特色社会主义理论体系概论第五章中国特色社会主义理论体系的形成发展分享.pdf
最近下载
- 2024聊城高级财经职业学校工作人员招聘考试试题及答案.docx VIP
- 1.1正数和负数 说课稿 2024—2025学年人教版数学七年级上册.docx
- 一种浓香型白酒发酵容器.pdf VIP
- 湖北大学《模拟电子技术基础》2018-2019年第一学期期末试卷B卷.pdf
- 事业单位考试职业能力倾向测验试卷及解答参考.docx VIP
- 详解SR220C电气说明书_20070822.doc
- 大班数学活动数玉米.pptx
- 与法治》六年级下册第8课《科技发展造福人类》精品教案.pdf
- 《网络管理与维护》课程标准 .pdf VIP
- 第一单元《刨削及其他工具》课件北京出版社七年级劳动技术《木工设计与制作》.pptx VIP
文档评论(0)