C语言基础概念4

这篇博客详细介绍了C语言的基础概念,包括位域、typedef、文件读写、预处理器、头文件引用、强制类型转换、整数提升、错误处理、递归等。通过实例展示了如何使用fopen、fclose、fputc等函数进行文件操作,以及如何利用typedef和#define定义类型别名。此外,还讨论了C语言中的预处理器指令,如#define、#include、#ifdef等,并讲解了预定义宏和预处理器运算符。最后,文章提及了动态内存管理和命令行参数的使用。
摘要由CSDN通过智能技术生成
				C 位域

C位域
1.关于位域的声明
struct
{
type [member_name] : width;
}

元素 描述
type 整数类型,决定了如何解释位域的值。类型可以是整型、有符号整型、无符号整型。
member_name 位域的名称。
width 位域中位的数量。宽度必须小于或等于指定类型的位宽度。

带有预定义宽度的变量被称为位域

				C typedef

C typedef

C 语言提供了 typedef 关键字,您可以使用它来为类型取一个新的名字。
typedef unsigned char BYTE;
在这个类型定义之后,标识符 BYTE 可作为类型 unsigned char 的缩写,
按照惯例,定义时会大写字母

typedef vs #define
#define 是 C 指令,用于为各种数据类型定义别名,与 typedef 类似,但是它们有以下几点
不同:

1.typedef 仅限于为类型定义符号名称,#define 不仅可以为类型定义别名,
也能为数值定义别名,比如您可以定义 1 为 ONE。
2.typedef 是由编译器执行解释的,#define 语句是由预编译器进行处理的。

下面是 #define 的最简单的用法:

#include <stdio.h>

#define TRUE 1
#define FALSE 0

int main( )
{
printf( “Value of TRUE : %d\n”, TRUE);
printf( “Value of FALSE : %d\n”, FALSE);

return 0;
}

				C 文件读写

C 文件读写

1.打开文件
使用 fopen( ) 函数来创建一个新的文件或者打开一个已有的文件
函数调用的原型
FILE *fopen( const char * filename, const char * mode );
在这里,filename 是字符串,用来命名文件,访问模式 mode 的值可以是下列值中的一个:

模式 描述
r 打开一个已有的文本文件,允许读取文件。
w 打开一个文本文件,允许写入文件。如果文件不存在,则会创建一个新文件。在这里,您的程序会从文件的开头写入内容。
a 打开一个文本文件,以追加模式写入文件。如果文件不存在,则会创建一个新文件。在这里,您的程序会在已有的文件内容中追加内容。
r+ 打开一个文本文件,允许读写文件。
w+ 打开一个文本文件,允许读写文件。如果文件已存在,则文件会被截断为零长度,如果文件不存在,则会创建一个新文件。
a+ 打开一个文本文件,允许读写文件。如果文件不存在,则会创建一个新文件。读取会从文件的开头开始,写入则只能是追加模式。

如果处理的是二进制文件,则需使用下面的访问模式来取代上面的访问模式:

“rb”, “wb”, “ab”, “rb+”, “r+b”, “wb+”, “w+b”, “ab+”, “a+b”

2.关闭文件
使用 fclose( ) 函数
函数原型:
int fclose( FILE *fp );
如果成功关闭文件,fclose( ) 函数返回零,如果关闭文件时发生错误,函数返回 EOF。
EOF 是一个定义在头文件 stdio.h 中的常量。

3.写入文件
把字符写入到流中的最简单的函数:
int fputc( int c, FILE *fp );
函数 fputc() 把参数 c 的字符值写入到 fp 所指向的输出流中。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值