c语言
文章平均质量分 93
澄白易
追风赶月莫停留,平芜尽处是春山。
展开
-
程序的编译(预处理操作)+ 链接
程序的翻译环境和执行环境在ANSI C的任何一种实现中,存在两个不同的环境:第1种是翻译环境,在这个环境中源代码被转换为可执行的机器指令。 第2种是执行环境,它用于实际执行代码。生成一个程序的过程可以分为四个步骤预处理:gcc -E test.c -o test.i( 预处理完成之后就停下来,预处理之后产生的结果都放在test.i文件 中) ①:展开头文件 ②:宏替换 ③:条件编译 ④:去掉注释 编译:gcc -s test. i -o test.s(编译完成之后就停下来,结果保存原创 2021-10-03 15:39:12 · 110 阅读 · 0 评论 -
C语言文件操作
文件类型根据数据的组织形式,数据文件被称为文本文件或者二进制文件。数据在内存中以二进制的形式存储,如果不加转换的输出到外存,就是二进制文件。 如果要求在外存上以ASCII码的形式存储,则需要在存储前转换。以ASCII字符的形式存储的文件就是文本文件。数据流就C程序而言,从程序移进,移出字节,这种字节流就叫做流。程序与数据的交互是以流的形式进行的。进行C语言文件的读写时,都会先进行“打开文件”操作,这个操作就是在打开数据流,而“关闭文件”操作就是关闭数据流。文件缓冲区ANSIC ...原创 2021-09-30 13:47:09 · 101 阅读 · 0 评论 -
动态内存管理
为什么存在动态内存分配int val = 20;//在栈空间上开辟四个字节char arr[10] = {0};//在栈空间上开辟10个字节的连续空间上述的开辟空间的方式有两个特点:空间开辟大小是固定的。 数组在申明的时候,必须指定数组的长度,它所需要的内存在编译时分配。但是对于空间的需求,不仅仅是上述的情况。有时候我们需要的空间大小在程序运行的时候才能知道,那数组的编译时开辟空间的方式就不能满足了。 这时候就只能试试动态内存开辟了。动态内存函数的介绍mallocvoid.原创 2021-09-29 13:17:36 · 80 阅读 · 0 评论 -
C语言:自定义类型详解(结构体+位段+枚举+联合)
目录结构体结构体基础知识结构体的声明匿名结构体结构体的自引用结构体变量的定义和初始化结构体内存对齐举个栗子:结构体内存对齐规则:为什么存在内存对齐?修改默认对齐数位段什么是位段位段的内存分配位段的跨平台问题枚举枚举类型的定义为什么使用枚举?枚举的使用联合(共用体)联合类型的定义联合的特点联合大小的计算结构体结构体基础知识结构是一些值的集合,这些值称为成员变量。结构的每个成员可以是不同类型的变量..原创 2021-09-27 22:36:31 · 337 阅读 · 0 评论 -
C语言:字符函数和字符串函数
字符函数和字符串函数 求字符串长度 strlen 长度不受限制的字符串函数 strcpy strcat strcmp 长度受限制的字符串函数 strncpy strncat strncmp 字符串查找 strstr strtok 错误信息报告 strerror 内存操作函数 memcpy memmove memcmp 函数介绍和模拟实现strlen函...原创 2021-09-24 18:59:22 · 123 阅读 · 1 评论 -
数据在内存中的的存储
1. 数据类型介绍基本的内置类型:char short int long long long float double //字符数据类型 //短整型 //整形 //长整型 //更长的整形 //单精度浮点数 //双精度浮点数 2. 整形在内存中的存储2.1原码、反码、补码计算机中的有符号数有三种表示方法,即原码、反码和补码。三种表示方法均有符号位和数值位两部分,符号位都是用0表示“正”,用1表示“负”,而..原创 2021-07-18 13:09:27 · 185 阅读 · 1 评论