C语言程序设计(谭浩强)-学习笔记 word(4)
7、只能将变量已分配的地址赋值给指针变量,不能直接将整数赋值给指针变量。
8、指针变量可以有null值,防止指针误作用。
第十一章 结构体270
11.1 结构体270
1、作用——将不同类型的数据组合成一个有机的整体。
2、结构体的定义——结构体是一种数据结构,按照某种规则定义,将若干个不同数据类型(也可相同)的数据项的组合成的一个有机整体。
3、声明结构体类型的形式:struct 结构体类型名字 {成员列表};
成员列表形式:类型符 成员名 如:int num;
11.2 声明结构体类型变量的方法271
1、先定义结构体类型:struct 结构体类型名字 {成员列表};再定义结构体变量:struct结构体类型名字 结构体变量名。
2、可在定义结构体类型时,定义结构体类型变量。struct 结构体类型名字 {成员列表}结构体类型变量1,结构体类型变量2, ;
11.3 结构体变量引用273
1、不能将一个结构体变量作为一个整体进行输入输出,只能对结构体变量成员分别赋值。
个人学习谭浩强 的 c语言程序设计 笔记
2、结构体变量成员引用方式:结构体变量名.成员名
3、如果结构体变量成员是另一个结构体变量,则要用若干个成员运算符,一级一级找到最低一级的成员。
11.4 结构体变量初始化
1、在声明变量时整体赋值。
2、复制相同结构的变量赋值。
3、除以上两种情况下可以对结构体类型变量整体赋值,其余情况下只能对变量成员分别赋值。
11.5 结构体数组275
1、结构体数组在内存中连续存放。
2、声明方式:与定义结构体变量方法相同。见11.2,只是在变量名后+[n]。也可在定义结构体数组时直接初始化结构体数组,此时可采用+[]的形式。
3、初始化方式:同定义结构体变量方法。
11.6 结构体类型指针
结构体类型指针——是指指向结构体变量所占据的内存的起始位置的指针。 声明形式:struct 结构体类型名 *指针名。如:struct student *p;
赋值形式:指针名=&结构体变量 。如:p=&studengt1;
引用形式:(*P).成员名 或 p->成员名。*p表示指针p指向的结构体变量。 注意:
1、定义的结构体类型,和声明结构体变量时不分配空间。
2、结构体可以嵌套定义。
3、结构体成员名可以与变量名相同。
11.7 链表283
1、单项链表结构:链表有一个头指针和表尾null指针。每个结点包含实际数据和下一个结点的地址。
个人学习谭浩强 的 c语言程序设计 笔记
2、可以用结构体类型指针,将多个结构体变量链接起来形成结构体链表。如:
11.8 共用体 297
1、共用体指将几种不同类型的变量存储在同一段内存单元中。
2、共用体变量的存储单元大小等于最长成员变量所占内存的长度
3、共用体变量中起作用的是最后一次存放成员。
4、共用体类型声明方式:union 公用体类型名称 {成员变量列表};
5、共用体变量声明方式:(1)union 公用体类型名称 {成员列表}共用体变量;
(2)先声明共用体类型,然后声明共用体变量,union 公用体类型名称 共用体变量。
11.9 枚举类型301
1、枚举类型——指将变量的值一一列举出来,变量的值只限于列举出来的值的
个人学习谭浩强 的 c语言程序设计 笔记
范围内的一个。
2、声明枚举类型:enum 枚举类型名称 {枚举常量列表};
3、声明枚举变量:enum 枚举类型名称 枚举类型变量;
11.10 用typedef定义的类型304
1、typedef 的作用——可以用typedef声明新的类型名来代替已有的类型名。
2、声明方式:typedef 类型名称 新的类型名称。
第十二章 位运算308
12.1 位段 315
1、位段——是一种特殊的数据结构,它允许定义一个由位组成段,并可为它赋以一个名字。位段一般作为结构体的成员。
2、声明方法:
位段结构类型声明方法:struct 结构体类型名称 {位段成员列表};
位段结构成员(即位段变量)声明方法:unsigned int 位段变量 : n; 如:
struct packed_struct{
unsigned int f1 :1;
unsigned int f2 :1;
unsigned int f3 :1;
unsigned int type :4;
unsigned int index :9;
};
3、位段结构类型变量声明方法:同结构体。
4、同一位段必须存储在同一个存储单元中,不能跨两个单元。
第十三章 文件319
13.1 文件319
1、文件——指存储在外部介质上的数据集合(数据文件),操作系统以文件为单位对数据进行管理。
个人学习谭浩强 的 c语言程序设计 笔记
13.2 文件的分类319
1、从用户的观点看:
特殊文件——指标准输入输出文件或标准设备文件。
普通文件——指磁盘文件。
2、从操作系统的角度看:每一个与主机相关联的输入输出设备都可看作一个文件。
(1)根据文件的组织形式分为:顺序存取文件 和 随机存取文件。
(2)根据文件的存储形式分为:ASCII文件 和 二进制文件。
13.3 C语言对文件的处理方法319
C语言中对文件的存取是以字符(字节)为单位的,一个输入输出流就是一个字节流或二进制流。
文件的存储方式分为缓冲文件系统和非缓冲文件系统。区别是缓冲文件系统是系统自动开辟缓冲区,非缓冲文件系统是由程序为每个文件设定缓冲区。
ANSI C标准只采用 缓冲文件系统 来处理文件。
13.4 文件结构体类型321
缓冲文件系统中,每个被使用的文件都在内存中开辟一个FILE结构体类型的区,用来存放文件的有关信息(文件名字、文件状态、当前位置、缓冲区等有关信息),
FILE结构体类型原型:
typedef struct{
short level; /*缓冲区“满”或“空”的程度*/
unsigned flags; /*文件状态标志*/
char fd; /*文件描述符*/
unsigned char hold; /*如无缓冲区不读取字符*/
short bsize; /*缓冲区的大小*/
unsigned char *buffer; / *数据缓冲区的位置*/
unsigned char *curp; /*指针,当前的指向*/
unsigned istemp; /*临时文件,指示器*/
个人学习谭浩强 的 c语言程序设计 笔记
short token;/*用于有效性检查*/}FILE;
13.5 文件结构体数组和指针321
FILE *fp——声明了一个指向FILE类型结构体的指针变量。
FILE f[5]——声明了一个文件结构体数组f,它有5个元素,存放5个文件的信息。
FILE 变量——声明了一个文件结构体变量。
13.6 文件的操作321
C语言要求,在文件读写之前要“打开”文件,在使用结束后要“关闭”文件。
1、打开文件:
FILE *fp;
fp=fopen(“文件名”,“使用文件方式”);指针变量指向被打开的文件。 例如:fp = fopen(“a1”,“r”)。
2、关闭文件:
fclose(文件指针);返回值:关闭成功返回值为0;否则返回EOF(-1) 。
使文件指针变量不指向该文件,也就是文件指针变量与文件“脱钩”, …… 此处隐藏:1741字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [教育文库]夜场KTV服务员的岗位职责及工作流程[1]
- [教育文库]企划、网络、市场绩效考核方案
- [教育文库]学党史、知党情、强党性--“党的基本理
- [教育文库]2016年高考物理大一轮总复习(江苏专版
- [教育文库]干部廉洁自律自查自纠的报告
- [教育文库]2010年北京大学心理学系拟录取硕士研究
- [教育文库]资金时间价值练习题及答案
- [教育文库]保护环境的心得体会
- [教育文库]英语角内容:英语趣味小知识
- [教育文库]档案收集与管理工作通知
- [教育文库]劳动规章制度范本范本
- [教育文库]高考物理一轮复习课后限时作业1运动的
- [教育文库]机械工艺夹具毕业设计195推动架设计说
- [教育文库]通用技术教学比赛说课稿2
- [教育文库]2018年四年级英语下册 Module 7 Unit 2
- [教育文库]第2章 宽带IP网络的体系结构
- [教育文库]九年级化学第五单元课题3《根据化学方
- [教育文库]小学英语六年级情态动词用法归纳
- [教育文库]甲级单位编制窑井盖项目可行性报告(立
- [教育文库]2016-2021年中国城市规划行业全景调研
- 高考英语听力十大场景词汇总结
- 全省领导班子思想政治建设座谈会会议精
- 人教版新课标高一英语提优竞赛试题 下
- 江西省2014年生物中考试题
- 长沙镇食品药品安全事故应急预案
- 《金刚石、石墨和C60》片段教学设计
- 福州教育学院(王旭东)
- 基于EDA音乐播放器的设计
- 9、古诗两首《夜书所见》《九月九日忆
- 小学语文课外阅读有效策略探讨
- 贵州文化产业发展成支柱产业的问卷调查
- 膀胱类癌的诊治体会(附3例报告)
- 发动机积碳产生的原因
- Configuring Code Composer Studio for
- 学生良好的心理素质如何培养点滴谈
- 46 电沉积法制备锂离子电池用硅-锂薄膜
- 美舍雅阁公司管理中各部门职责
- 去壳剥皮的小妙招
- 六自由度运动平台的仿真研究
- Pride and Prejudice(傲慢与偏见)




