C语言
文章平均质量分 79
C语言理论知识
Daisy_0818
这个作者很懒,什么都没留下…
展开
-
C语言内存管理
内存的申请、释放是低效的,我们只在开始申请一块大內存(不够继续申请),然后每次需要时都从这块内存取出,并标记这块内存是否被使用。内存碎片一般是由于空闲的內存空间比要连续申请的空间小,导致这些小内存块不能被充分的利用,当你需要分配大的连续内存时,尽管剩余内存的总和足够,但系统找不到连续的内存,所以导致分配失败malloc/free大量使用会造成内存碎片。如果有100个单位的连续空闲内存,那么先申请5单元的连续内存,再申请50单元的内存这时释放一开始的5单元的内存。函数调用结束后,内存释放。原创 2024-03-18 16:02:27 · 1655 阅读 · 0 评论 -
C语言预处理器与头文件
ANSI C 定义了许多宏。在编程中可以使用这些宏,但是不能直接修改这些预定义的宏。宏描述DATE当前日期,一个以 "MMM DD YYYY" 格式表示的字符常量。TIME当前时间,一个以 "HH:MM:SS" 格式表示的字符常量。FILE这会包含当前文件名,一个字符串常量。LINE这会包含当前行号,一个十进制常量。STDC当编译器以 ANSI 标准编译时,则定义为 1。实例main()当上面的代码(在文件test.cLine :8ANSI :1。原创 2024-03-17 21:20:37 · 703 阅读 · 1 评论 -
c语言结构体与共用体
结构体定义由关键字struct和结构体名组成,结构体名可以根据需要自行定义。...tag是结构体标签。是标准的变量定义,比如 int i;或者其他有效的变量定义。结构变量,定义在结构的末尾,最后一个分号之前,可以指定一个或多个结构变量。一般情况下,这 3 部分至少要出现 2 个。} book;//声明方式1//声明方式2通常使用typedef创建新类型} Books;//现在可以用Books作为类型声明新的结构体变量(代码更简洁)原创 2024-03-13 13:15:20 · 233 阅读 · 0 评论 -
c语言字符串
sizeof是运算操作符,strlen是函数,二者得到的结果类型为size_t,即unsigned int类型。使用空字符\0结尾的一维字符数组,因此 \0 用于标记字符串的结束。strlen计算的是字符串的长度,遇到'\0'结束,sizeof计算的是变量的大小,标准库:string.h。原创 2024-03-12 21:33:28 · 174 阅读 · 1 评论 -
c语言函数指针与回调函数
目录一、指针1、指针2、野指针与空指针3、指针的算术运算4、指针数组:(多个地址)由指针变量组成的数组。5、多级指针:C 允许指向指针的指针。6、传递指针给函数:通过引用或地址传递参数,使传递的参数在调用函数中被改变。7、从函数返回指针(地址)二、函数指针1、声明2、定义3、调用:可直接用指针调用。三、回调函数指针:指向(/存储)其他变量的地址,该变量的数据类型需与指针的数据类型保持一致。等价于:2、野指针与空指针野指针:没有为指针附地址,此时指针任意指向一个地址,不利于程序安全。空指针:指针附N原创 2024-03-12 12:54:34 · 1849 阅读 · 1 评论