C语言程序设计第10章02PPT课件

合集下载

谭浩强C语言程序设计课件完整版第10章

谭浩强C语言程序设计课件完整版第10章

10.3文件的读写
fputc(c,fp2); fclose(fp1); fclose(fp2); } system("cls"); printf("abc.txt:\n"); system("type abc.txt"); printf("\n\nxyz.txt:\n"); system("type xyz.txt"); */ } 运行结果如下:
10.2文件的打开与关闭
即先检查打开的操作有否出错,如果有错就在终端上输出 “cannot open this file”。Exit函数的作用是关闭所有文件,终 止正在调用的过程。待用户检查出错,修改后在运行。 2.文件的关闭(fclose函数) 使用完一个文件之后应该尽快关闭,以免数据丢失。 关闭一个文件使用fclose()函数实现,其格式如下: Fclose(文件指针) 文件指针:指明要关闭哪个文件,作为参数的文件指针必须是由打 开文件函数fopen()得到的。 例如: #include<stdio.h> main() { FILE *fp; … if(fp=fopen(“abc.txt,”“r”))==0) /*尝试打开文件*/
/* 调用DOS命令输出源文件内容*/ /* 调用DOS命令输出目标文件内容
10.3文件的读写
10.3.2 fgets()函数和fputs()函数
以字符为单位的fgetc()函数和fputc()函数一次只能读出或写入一个字 符到文件中,显然处理大量数据时效率不高,以字符串为单位的fgets()函 数和fputs()函数可以一次从文件输入或向文件输出一个字符串。 1.fgets ()函数 fgets()是从文件而不是从标准输入设备取得字符串。其格式如下: fgets(字符串指针,字符个数,文件指针); 其中第一个参数“字符串指针”,即一个字符组名或指向字符的指针, 用于存放读出的字符串;第二个参数指明读出多少个字符,是一个整型数; 第三个参数即目标文件的文件指针。 fgets()在遇到换行符或文件结束符时,即使已读取得字符数小于参数 中指定的数量也会自动停止。如程序设计者已经知道abc.txt文件不大于 100个字节,调用fgets()函数的第二个参数为100,使得整个文件被一次 读取。若abc.txt文件大于100字节,则后面的内容没有被读取。如果 fgets()读取到文件结束符,将会返回一个NULL值。可以据此判断是否到 达文件尾部,使用循环语句读出整个文件。若目标文件的结构不清晰,一 般使用fgetc()函数逐个字符读取,逐个处理。在预先知道目标文件结构的 情况下,使用fgets()函数能提高效率。

C语言程序设计第四版PPT-谭浩强

C语言程序设计第四版PPT-谭浩强

文件f2的 文件信息区
文件f3的 文件信息区
文件的基本知识——文件的操作 写文件:打开-写-关闭 读文件:打开-读-关闭
文件的打开
功能:为文件建立相应的信息区(存放 文件信息)和文件缓冲区(暂时存放输入 输出的数据) 函数: fopen(文件名,使用文件方式); 例: fopen("a1.dat","r");
第10章 文件
本章内容
10.1 文件的基本知识 10.2 打开与关闭文件 10.3 顺序读写数据文件 10.4 随机读写数据文件 10.5 文件读写的出错检测
文件的基本知识——输入输出
之前各章中处理的数据 ➢输入:键盘->内存 ➢输出:内存->显示器 实际上也可能是 ➢输入:外部设备->内存(读文件) ➢输出:内存->外部设备(写文件) 操作系统把各种设备都统一作为文件处理
文件
顺序文件的读写——读写字符串
例10.3 从键盘输入3个字符串,排序,把排
序后的字符串写入文件(P.342-343) 读上面写好的文件(P.344)
顺序文件的读写——格式化读写
fprintf(文件指针,格式字符串,输出表列); fscanf (文件指针,格式字符串,输入表列);
例: fprintf (fp,"%d,%6.2f",i,f); fscanf (fp,"%d,%f",&i,&f);
用文件扩展名”
文件的基本知识——流式文件
C语言把文件看作是字符(或字 节)的序列。
文件以“流”的形式在程序与操 作系统间流动。
文件的基本知识——数据的形式
根据数据的组织形式,数据文件可分为 ASCII文件:数据逐个字符的ASCII码 输出到外存,也称文本文件 二进制文件:内存中二进制形式的数据 直接输出到外存

《C语言程序设计教程》PPT课件

《C语言程序设计教程》PPT课件
② 标准输出文件,文件指针为stdout,系统指定为 显示器。
③ 标准错误输出文件,文件指针为stderr,系统指 定为显示器,输出错误信息。
10.1 文件的概述
11
10.1.2 文件的打开与关闭
操作文件的一般步骤
打开文件 读写文件 关闭文件 打开量文的件函C:语数建配言,立一的用用个输于户文入完程件输成序缓出对与冲函数文区数据件。库文的中件联提的系供建,了立为大、文件分 读写数文据件的:读是写指、对数文据件的的追读加、等写操、作追。加和定位操作。 关闭文件在:程切序断中文调件用与这程些序函的数联时系,,必释须放先文用件缓冲
}
FFIILLE;E *文件指针变量/名* ;This is the FILE object */
10.1 文件的概述
10
10.1.1 文件和文件指针
4. 标准文件
标准文件是外部设备中的三个特殊的设备文件。它们 的文件指针是系统定义的,并由系统自动打开和关闭。这 三个标准文件分别是:
① 标准输入文件,文件指针为stdin,系统指定为 键盘。
include命区令。包含stdio.h文件。
10.1 文件的概述
12
10.1.2 文件的打开与关闭
1. 文件打开函数fopen( )
常用的调用形式: FILE *fp; fp = fopen(文件名, 文件使用方式); 文件名:需要打开的文件名称(字符串)。 文件使用方式:是具有特定含义的符号。
缓冲区cha地r 址和大小f等d; 。 /* File descriptor
*/
FILE在类usnhCso型语irgt是n言ed系中ch统a,r定无hb义os论li的dz;e对;,磁包//**盘含UBnu文g在fefte件scrtcs还dhiazi是reo.i设fh头n备o 文b文uf件*f件/er中*/

精品课件-程序设计基础(C语言)(杨俊清)-第10章

精品课件-程序设计基础(C语言)(杨俊清)-第10章

第10章 文 件
typedef struct {
shortlevel; 的程度*/
unsigned flags; charfd; unsigned charhold; 读取字符*/ shortb size; unsigned char*buffer; 置*/ unsignedar *curp; unsigned istemp; short token;
if ((fp=fopen("file1","r"))==NULL) {
printf("cannot open this file\n"); exit(0); }
第10章 文 件
即先检查打开的操作有否出错,如果有错就在终端上输出 “cannot open this file”。exit函数的作用是关闭所有文 件,终止正在调用的过程。待用户检查出错误,修改后再运行。
第10章 文 件
第10章 文 件
10.1 文件概述 10.2 文件的读写 10.3 文件定位 习题
第10章 文 件
10.1 文 件 概 述 文件(file)是程序设计中一个重要的概念。所谓“文 件”,一般指存储在外部介质上数据的集合。一批数据是以文 件的形式存放在外部介质(如磁盘)上的。操作系统是以文件为 单位对数据进行管理的,也就是说,如果想找存在外部介质上 的数据,必须先按文件名找到所指定的文件,然后再从该文件 中读取数据。要向外部介质上存储数据,也必须先建立一个文 件(以文件名标识),才能向它输出数据。
第10章 文 件
说明: (1) 用“r”方式打开的文件只能用于向计算机输入而不 能用作向该文件输出数据,而且该文件应该已经存在。不能用 “r”方式打开一个并不存在的文件(即输入文件),否则出错。 (2) 用“w”方式打开的文件只能用于向该文件写数据 (即输出文件),而不能用来向计算机输入。如果原来不存在该 文件,则在打开时新建立一个以指定的名字命名的文件。如果 原来已存在一个以该文件名命名的文件,则在打开时将该文件 删去,然后重新建立一个新文件。 (3) 如果希望向文件末尾添加新的数据(不希望删除原有 数据),则应该用“a”方式打开。但此时该文件必须已存在, 否则将得到出错信息。打开时,位置指针移到文件末尾。

高树芳C语言程序设计--第十章

高树芳C语言程序设计--第十章

[解决方案]定义结构体类型变量存储学生信息,
使用scanf从键盘输入数据,使用fprintf函数按格 式输出数据到文件(生成data3.txt文件)。
程序代码
10
10.2
文件的读写
相关知识:
1.文件的读写 2.格式化读写函数
11
10.2
文件的读写
[课堂训练10-1] 1.使用Windows的记事本建立一个文件,其 中写入15个任意整数,数据之间用逗号分隔。 编程输出该文件所有的奇数。 2.编程以只读方式打开案例10-3中的 data3.txt文件,在屏幕上输出所有学生的数 据。
第10章
文件
知识目标: 1. 理解文件和文件指针的概念 2.掌握文件的打开和关闭方法 3.掌握文件的读写操作 4.掌握文件的定位与随机读写操作
1
第10章 文件 能力目标: 1. 会打开和关闭文件 2.会对文件进行读写和定位等操作
本章内容: 文件的定义,文件型指针,文件的打开与关闭,文件 的读写,文件的定位与随机读写。
2
第10章 10.1 10.2 10.3 10.4
文件
文件的打开与关闭 文件的读写 文件的定位和随机读写 知识拓展
3
10.1 文件的打开与关闭
案例10-1
输出文件中的整数及其和
4
10.1 文件的打开与关闭
案例10-1 [案例任务]
输出文件中的整数及其和
使用Windows的记事本在磁盘上与C程序文件在同一目 录下建立一个文件名为“data1.txt”的文本文件(如 图10-1所示),以空格、制表符或回车为分隔符输入 任意个整数,设计C程序,以只读方式打开此文件,若 该文件不存在,则输出“不能打开文件!”,若打开 成功,则输出所有整数,以及整数的个数和它们之和。

C语言程序设计教程ppt课件完整版pptx

C语言程序设计教程ppt课件完整版pptx
C语言的应用领域
计算机系统基本概念
计算机系统的组成 操作系统的基本概念 计算机中的数与编码
编程环境与工具安装配置
01
常见的C语言编程环境
02
安装与配置C语言编译器
使用集成开发环境(IDE)进行C语言编程
03
第一个C程序:Hello, World!
01
C程序的基本结 构
02
编写Hello, World!程序
应用场景
适用于需要根据特定条件提前终 止循环或跳过某些循环操作的情 况。
04 函数与模块化设计
函数定义和调用
01
函数定义
包括函数名、参数列表、返回值 类型和函数体等部分,用于描述 函数的功能和实现细节。
函数调用
02
03
函数声明
通过函数名和参数列表来调用函 数,实现相应功能并获取返回值 。
在使用函数之前,需要对函数进 行声明,以便编译器识别函数的 存在和调用方式。
THANKS FOR WATCHING
感谢您的观看
指针运算符
包括取地址运算符&和取值运算符*,分别 用于获取变量的内存地址和通过指针访问内 存中的数据。
动态内存分配函数(malloc, free)使用方法
malloc函数
用于在堆区动态分配指定大小的内存空间,并返回 分配内存的起始地址。
free函数
用于释放之前通过malloc函数分配的内存空间,防 止内存泄漏。
动态规划思想
动态规划是一种在数学、计算机科学和经济学中 使用的,通过把原问题分解为相对简单的子问题 的方式来求解复杂问题的方法。动态规划常用于 优化重叠子问题的计算。
回溯与分支限界法
回溯法是一种通过探索所有可能的候选解来找出 所有解的算法,而分支限界法是一种通过剪枝来 减少搜索空间的优化算法。回溯与分支限界法常 用于解决组合优化问题。

最新C语言课件第10章教学讲义ppt

最新C语言课件第10章教学讲义ppt

➢完成一个学生成绩信息管理系统应用程 序的设计,该程序的操作界面。
电脑基础·实例·上机系列丛
清华大学出版社
Visual C++程序设计教程
电脑基础·实例·上机系列丛
清华大学出版社
Visual C++程序设计教程
电脑基础·实例·上机系列丛
清华大学出版社
Visual C++程序设计教程
电脑基础·实例·上机系列丛
“成绩浏览”功能区运行结果
电脑基础·实例·上机系列丛
清华大学出版社
Visual C++程序设计教程
实现用户登录认证和用户登出功能
➢对数据库表数据进行添加或删除意味着改变 数据库的内容,在进行添加或删除数据信息 时应慎重,为了避免有人恶意添加或删除信 息,因此,只有具有此操作权限的人才能进 行操作,即在程序中,当用户需要进行添加 或删除数据信息操作时,要进行一个用户登 录认证,只有通过认证的用户才有权限进行 数据库内容的修改。
电脑基础·实例·上机系列丛
清华大学出版社
程序实现
Visual C++程序设计教程
➢(5)实现学生成绩信息浏览功能。 ➢(6)实现用户登录认证和用户登出功
能。 ➢(7)实现学生ห้องสมุดไป่ตู้绩信息添加功能。 ➢(8)实现学生成绩信息删除功能。
电脑基础·实例·上机系列丛
清华大学出版社
程序实现
Visual C++程序设计教程
电脑基础·实例·上机系列丛
清华大学出版社
Visual C++程序设计教程 建立一个带有ODBC数据库支持功能的单文档界面 的工程文件
➢建立一个带有ODBC数据库支持功能的 单文档界面的工程文件的操作步骤如下:

C语言程序设计ppt-第10篇-02

C语言程序设计ppt-第10篇-02

2019/11/19
华中科技大学计算机学院
6
void main(void) {
union chl u; printf("size of u is %d\n",sizeof(u)); u.l=0x31323334L; show(&u); show_memoy(&u); u.h=0x3638; show(&u); show_memoy(&u); }
由于语法上合法,编译器对这种情况不会报错,但运算的结 果却不正确。
假如在union chl中增加一个成员(其它都不变),如: float f;则在show函数中,如果执行语句为: printf("float format: %f\n",pu->f); 则得到是不正确的结果0.00,而其他语句中操作却是相容的。
如上面例子中的v={'9'}。也可以: union chl v={ˊ9ˊ},w={ˊaˊ};
2019/11/19
华中科技大学计算机学院
5
例10.12 通过例子对联合的特性 进行进一步分析。
#include "stdio.h" union chl{
char c; short h; long l; }; void show(union chl *pu); void show_memoy(union chl *pu);
字段结构在操作系统,编译程序,嵌入式系统的C语言编程方 面使用较多。
例如,stdio.h中关于文件状态成员flags的取值就规定了1为 读状态,2为写状态,4为缓冲数据状态等等。这些数据都是 一些值很小的整数,没有必要用int或char变量来存储每一个 值。

《C语言程序设计教程》课件--第10章

《C语言程序设计教程》课件--第10章
向文件写数据时,也是先将 变量中数据送到缓冲区,待缓 冲区装满后,再一起存到磁盘 文件中。
8
程序区
数据区
输入 输出 文件
缓冲区
内存
磁盘文件 输出
输入 外存
图10.2 系统对缓冲文件的处理
2019/10/29
10.1 文件的概述
9
10.1.1 文件和文件指针
3. 缓冲文件和文件指针
文件类型指针
在缓冲文件系统中,对每个正在使用的文件
exit(0); }
2019/10/29
10.2 文本文件的读写
21
10.2.1 文件的字符输入输出函数
while ((c=getchar( ))!=EOF)
/*键盘文件结束标志:输入Ctrl+z,显示^Z后回车*/
putc(c, fp);
/* 将键盘输入的字符写到文件中 */
fclose(fp);
”w”:只写方式
为写(输出)文本文件打开文件。若文件不存在, 则建立一个新文件;若文件已存在,则清空文件。
”a”:追加方式
为写(输出)文本文件打开文件。若文件已存在, 则保持原来文件的内容,将新的数据增加到原来数据 的后面;若文件不存在,则返回NULL。
2019/10/29
10.1 文件的概述
14
因此对uunnss于iiggnn每eedd 个cha使r 用*ics中utrepm的;p; 磁//**盘CTue文rmrpeo件nrta必rayc须ftiilv先ee pi定onidni义tceart一o*r/*/ 个FILshEo类rt 型的文件t指oke针n;变量/* 并Use指d f向or此val变id量ity。checking */
常①字用符p的u的t调c先函用数后形与顺式f序p:u进tc行函,数的只功能能在相操同作。了在第sitd个io.h文

C语言程序设计第10章 编译预处理简明教程PPT课件

C语言程序设计第10章 编译预处理简明教程PPT课件

(2)定义一个宏名字之后,可以在其他宏定义中使用它。 如: #define ONE 1 #define TWO ONE+1 #define THREE ONE+TWO
计算机科学与技术学院—— C语言程序设计
10.2 #define
例10-1 宏定义及其使用 #define MESSAGE “You are right!\n”
计算机科学与技术学院—— C语言程序设计
第十章 编译预处理 内容提要
C预处理程序 #define
#include
条件编译指令
#undef
计算机科学与技术学院—— C语言程序设计
10.3 #include
10.3 #include
程序中的#include指令要求编译程序读入另一个源文件。被读入 文件的名字必须由双引号(”)或一对尖括号(<>)包围。如: #include”stdio.h” 或 #include<stdio.h> 都令编译程序读入并编译用于I/O函数处理的包含文件stdio.h。
计算机科学与技术学院—— C语言程序设计
10.3 #include
说明: (1)包含文件中还可以包含其它文件,称为嵌套包含(nested includes)。允许的最大嵌套深度随编译程序而变。 (2)用尖括号包围头文件时,搜索头文件时按编译程序的预先定 义进行,一般只搜索某些专门放置包含头文件的特殊目录。当头 文件用双引号包围时,搜索按编译程序实现时的规定进行,一般 指搜索当前目录,如未发现头文件,则再按尖括号包围时的办法 重新搜索。
10.2 #define
(4)#define指令还有一个重要功能:宏名字可以有变元。每当遇 到宏名字时,与之有关的变元都由程序中的实际变元替换。如上 例中的#define ABS(a) (a)<0?-(a):(a)。但要注意,#define ABS(a) (a)<0?-(a):(a)中变元a两边的括号是不能少的,否则, 会产生非预期结果。如: #define ABS(a) a<0?-a:a printf(”abs of (10-20):%d\n”,ABS(10-20)); ABS(10-20)替换为:10-20<0?-10-20:10-20,则输出结果为-30。

精品课件-C程序设计(第三版)(荣政)-第10章

精品课件-C程序设计(第三版)(荣政)-第10章

第十章 文件
二进制文件是将数据按其在内存中的二进制形式直接存 入文件。 这种形式可以节省存储空间, 减少转换时间, 在 读/写大批数据时速度较快, 一般中间结果数据常用二进制 文件保存。
但二进制文件不能直接输出字符形式, 所以不便于阅读。
整数5678在两种不同文件中的存储形式如图10.1所示。 从图中可看出, 整数5678在ASCII码文件中占用了4个字节, 而在二进制文件中只占用了2个字节。
第十章 文件
数据流是对数据输入/输出(I/O)行为的一种抽象。各种 各样的终端设备或磁盘文件的细节是非常复杂多样的(例如磁 盘文件既允许顺序存取,又允许随机存取,而作为终端的设 备文件就只能顺序存取),直接对它们编程将会非常繁琐。引 入数据流的概念有效地解决了这一难题。只要建立了输入/输 出数据流,编程者在应用程序中就不需要关心底层输入/输出 设备或是任何磁盘文件的具体细节差异。程序中要输入数据, 只需从输入数据流中读入; 输出数据只需向输出数据流中写 出即可,这样就使程序完全与具体硬件资源脱离了关系,也 就是说数据流使C程序与具体系统完全不相关,使C程序可以 非常方便地移植。
第十章 文件
在一个程序开始执行时,三个预定义的文字流: stdin(标准输入)、stdout(标准输出)和stderr(标准出错) 就被打开,有的系统还同时打开stdprn(标准打印机)和 stdaux(标准辅助设备,大多数系统是控制台)。
对编程人员来说,所有的I/O通过流来进行。所有的 流都一样,都是一系列字符。文件I/O系统把流与文件, 也就是与有I/O功能的外部设备连接起来。C语言的I/O库 函数把来自设备的源信息转换到流之中,或反过来把流中 的信息转换给各设备。在C语言中,编程者只需记住流这 个概念,只使用一个文件系统就可以完成全部的I/O操作。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

17.08.2020
华中科技大学计算机学院
4
10.7.2 联合变量的声明、初始化及 联合成员的引用
定义了union chl的联合类型后,可以通过: union chl u;
来声明一个union chl类型的变量。 也可以在定义union chl联合类型的同时来声明相应的联合变
量。如: union chl{ char c; short h; long l; }v={ˊ9ˊ};
它在定义union chl联合类型的同时声明了联合类型的变量v, 并且对其进行了初始化。
在不产生二义的情况下,往往简称联合类型的变量为联合。
17.08.2020
华中科技大学计算机学院
5
联合变量的声明、初始化
值得注意的是,联合变量的初始化与结构的初始化 在形式上相同,都应该用花括号界定初值,但联合 是一种特殊形式的构造类型的数据,在同一时刻它 只拥有其中的一个成员。
8
void show(union chl *pu)
{
printf("char format: %c\n",(*pu).c);
printf("int format: %hx\n",pu->h);
printf("long format: %lx\n",(*pu).l);
}
void show_memoy(union chl *pu)
17.08.2020
华中科技大学计算机学院
10
对程序和程序的运行结果可以做如下分析:
1) 联合的存储结构
从sizeof(u)的结果为4可以看出,联合u所占存储的 大小为4个字节,这正好是长整型成员l所占存储的大 小。这4个字节的存储是连续的,地址从0xFFD8至 0xFFDB。u.l 的值为0x31323334L,u的存储描述 为:
17.08.2020
华中科技大学计算机学院
3
如果有3个不同数据类型(char, short, long ) 的变量要分时共用一个共同的存储区域,则可
以定义如下的联合类型:
union chl{
char
c;
short h;
long
l;
};
这里chl是所定义的联合类型的联合名(tag) , 它 与union一起形成一个union chl的联合类型。c、h、 l是联合类型的成员。
{
char *p=(char *)pu;
int i=0;
while(i<4){
printf("addr %dth byte of u is 0x%p\t",i,p+i);
printf("the ASCII in %dth byte of u is %c\n",i,*(p+i));
i�
the ASCII in 0th byte of u is 4 the ASCII in 1th byte of u is 3 the ASCII in 2th byte of u is 2 the ASCII in 3th byte of u is 1
the ASCII in 0th byte of u is 8 the ASCII in 1th byte of u is 6 the ASCII in 2th byte of u is 2 the ASCII in 3th byte of u is 1
17.08.2020
华中科技大学计算机学院
华中科技大学计算机学院
9
程序的运行结果如下:
size of u is 4 char format: 4 int format: 3334 long format: 31323334 addr 0th byte of u is 0xFFD8 addr 1th byte of u is 0xFFD9 addr 2th byte of u is 0xFFDA addr 3th byte of u is 0xFFDB char format: 8 int format: 3638 long format: 31323638 addr 0th byte of u is 0xFFD8 addr 1th byte of u is 0xFFD9 addr 2th byte of u is 0xFFDA addr 3th byte of u is 0xFFDB
C语言程序设计
The C Programming Language
17.08.2020
1
整体概况
+ 概况1
您的内容打在这里,或者通过复制您的文本后。
概况2
+ 您的内容打在这里,或者通过复制您的文本后。
概况3
+ 您的内容打在这里,或者通过复制您的文本后。
*10.7 联 合 10.7.1 联合类型的定义
union chl u; printf("size of u is %d\n",sizeof(u)); u.l=0x31323334L; show(&u); show_memoy(&u); u.h=0x3638; show(&u); show_memoy(&u); }
17.08.2020
华中科技大学计算机学院
与结构类似,联合类型也是一种构造类型。 一个联合类型中包含有多个成员,这些成员 共享共同的存储区域,但这些成员并不同时 存在;联合存储区域的大小由各个成员中所占 字节数最大的成员决定;在任何时刻,各个成 员中只能有一个成员拥有该存储。
除了用关键字union取代struct之外,联合类 型的定义、联合变量的声明、以及联合成员 的引用在语法上与结构完全相同。
因此,初始化时只能对联合的第1个成员进行初始化。 换言之,初值表中只能包含与第1个成员数据类型相 同的一个初值。
如上面例子中的v={'9'}。也可以:
union chl v={ˊ9ˊ},w={ˊaˊ};
17.08.2020
华中科技大学计算机学院
6
例10.12 通过例子对联合的特性 进行进一步分析。
#include "stdio.h" union chl{
char c; short h; long l; }; void show(union chl *pu); void show_memoy(union chl *pu);
17.08.2020
华中科技大学计算机学院
7
void main(void) {
相关文档
最新文档