进阶c语言
文章平均质量分 55
一起慢慢变强
既可以朝九晚五,又可以浪迹天涯
展开
-
c语言中的编译链接
转载 2022-05-01 19:26:41 · 222 阅读 · 0 评论 -
文件操作基础知识和文件操作函数
文件的作用当我们编译器上编写程序运行之后,只要我们关闭了这个这个程序,那么这个程序所产生的数据将会被清除,这是因为我们运行程序的时候是在内存中运行的,当程序关闭的时候,数据也就没了,没有保存在像硬盘这样的外部存储设备中,所以我们可以通过文件操作将这些数据存储到文件中,也就是存储在电脑的硬盘中什么是文件指的是硬盘当中可以存储数据的文件我们程序设计的文件可以分为两种1、程序文件用来运行程序的文件包括源程序文件(后缀为.c),目标文件(windows环境后...原创 2022-04-03 22:56:17 · 726 阅读 · 0 评论 -
柔性数组的定义和使用
目录柔性数组的定义柔性数组的使用柔性数组的特点柔性数组的优势柔性数组的定义C99中,允许结构的最后一个元素是未知大小的数组,这个叫做柔性数组成员柔性数组的创建struct s{ int n; int arr[]; //大小未知};或struct s{ int n; int arr[0];//大小未知};具体最后一个成员是用arr[]还是arr[0]取决去编译器可以使用哪个柔性数组的使用struct .原创 2022-04-01 09:11:49 · 500 阅读 · 0 评论 -
动态内存管理
目录动态内存分配的优点动态内存函数的介绍常见的动态内存错误动态内存分配的优点//以往的内存开辟方式,这种为静态开辟的内存,在栈,静态区,常量区开辟int a = 0;static int b = 0;char* p = "hello";这种开辟方式存在缺点1、空间开辟的大小是固定的,开辟后空间大小就不可以修改2、数组在开辟的时候需要指明大小(c99中有变长数组的概念,但是目前流行的是c90)假如我们使用数据的过程中想要增加数组的大小,或者原本不需要这么多的内存,这个原创 2022-04-01 08:38:44 · 107 阅读 · 0 评论 -
联合体的定义和使用
联合体的定义概念:联合也是一种特殊的自定义类型这种类型定义的变量也包含一系列的成员,特征是这些成员公用同一块空间(所以联合也叫共用体)union name //union是联合体关键字,name为这个联合体的名称{ union_member; //这里面创建联合体变量}global_union; //global_union为全局的联合体变量联合体的特点联合的成员是共用同一块内存空间的union un{ int a; char b;};int ma...原创 2022-03-27 20:21:44 · 2506 阅读 · 0 评论 -
枚举的定义和使用
枚举的定义enum name //enum是枚举关键字,name为这个枚举类型的名称{ enum_member; //这里面创建枚举常量}global_enum; //global_enum为全局的枚举常量枚举的优点相对于#define定义的常量,枚举有哪些不同?枚举的优点:1. 增加代码的可读性和可维护性enum num{ x, y, z};#define a 0int main(){ printf("%d", x); printf("%...原创 2022-03-27 19:49:45 · 1148 阅读 · 0 评论 -
结构体基础知识集合
目录结构体的声明结构体的特殊申明(匿名结构体申明)结构体的自引用结构体内存对齐结构体的声明struct name //struct是结构体的关键词,name是结构体的名字{ member-list; //member-list为结构体成员列表,创建结构体成员的地方}variable-list; //variable-list为创建结构体变量,这个变量是全局的结构体的特殊申明(匿名结构体申明)struct //为匿名结构体类型,这个结构体只要被创建,那么它的访问原创 2022-03-25 18:56:03 · 85 阅读 · 0 评论 -
结构体内存对齐
结构体内存大小的计算#include<stdio.h>struct a{ int a; char b; char c;}a;struct b{ char a; int b; char c;}b;int main(){ printf("%d\n", sizeof(a)); printf("%d\n", sizeof(b)); return 0;}假如按照以往对占用内存大小的分析,结构体a的大小和结构体b的大小是一样的,并且都是7个字节(一个...原创 2022-03-12 21:09:59 · 376 阅读 · 0 评论 -
深剖数据在内存中的存储--浮点型篇
文章目录浮点型在内存中的存储形式浮点型的存储规则浮点型小数转换成二进制IEEE 754规定:IEEE 754中的特殊规定有效数字的特殊规定指数的特殊规定指数从内存中取出的三种情况浮点型在内存中的存储形式和之前整型一样,浮点型在内存中的存储形式也是以补码的形式进行存储浮点型的存储规则浮点型的存储规则由国际标准IEEE(电气和电子工程协会)754规定任意一个二进制浮点数v可以表示成下面形式:(-1)^S * M * 2^E(-1)^s表示符号位,当s=0,V为正数;当s=1,V为负数M表示原创 2022-01-05 16:30:59 · 344 阅读 · 0 评论 -
深度剖析数据在内存中的存储--整型篇
文章目录整型在内存中的存储原码、反码、补码负数的原码、反码和补码各不相同正数的原反补相同整型在内存中的存储形式大小端介绍什么是大小端为什么有大端和小端整型在内存中的存储原码、反码、补码计算机中的整数有三种表示方式,即原码、反码和补码三种表示方法均有符号位和数值位两部分符号位都是用0表示“正”,用1表示“负”负数的原码、反码和补码各不相同原码直接将二进制按照正负数的形式翻译成二进制就可以反码将原码的符号位不变,其他位依次按位取反就可以得到了补码反码加1正数的原反补相同原创 2022-01-03 11:21:36 · 289 阅读 · 0 评论 -
数据类型的基本介绍和归类
文章目录数据类型的介绍类型的基本归类整型家族浮点数家族构造类型指针类型空类型数据类型的介绍根据初级篇的学习,我们已经学习了基本的内置类型,以及它们所占存储空间的的大小char //字符数据类型,vs2022中占1个字节short //短整型,vs2022中占2个字节int //整形,vs2022中占4个字节long //长整型,vs2022中占4个字节long long //更长的整形,vs2022中占8个字节float //单精度浮点数原创 2022-01-03 10:27:24 · 695 阅读 · 0 评论