
Hello Code! - C语言
文章平均质量分 87
BuiderCodes
这个作者很懒,什么都没留下…
展开
-
C语言指针进阶操作 - 指针类型|指针传参|回调函数|笔试题
指针是一种特殊的变量,用于存储内存地址。可以直接访问内存中的数据,而无需知道变量的名称。指针变量包含一个内存地址,该地址指向存储在计算机内存中的数据位置。原创 2024-02-10 13:40:42 · 1040 阅读 · 3 评论 -
C语言自定义类型 - 结构体内存对齐|位段
offsetof是 C 语言标准库stddef.h中的一个宏,用于计算结构体中成员的偏移量。它的作用是返回某个结构体中特定成员的偏移量,以字节为单位。这在需要直接访问结构体成员时非常有用,尤其是在涉及底层编程或者实现数据结构时。原型:PS:偏移量偏移量指的是在数据结构中,某个特定成员相对于结构体(或数组...)起始位置的位置差值,单位为字节。offsetof需要接收两个参数,第一个(type)是结构体类型,第二个(member)是结构体名。当我们使用offsetof来计算结构体每个成员的偏移量时。原创 2024-02-27 15:39:28 · 1051 阅读 · 1 评论 -
C语言自定义类型 - 枚举|联合
目录1.枚举2.联合枚举(enumeration)是一种用户定义的数据类型,用于定义具有离散取值的常量。枚举可以帮助提高代码的可读性和可维护性,使得程序员可以使用易于理解的符号来表示特定的取值范围。枚举顾名思义就是一一列举,把所有的可能都列出来,就是枚举。枚举的定义:枚举通过enum关键字定义,其语法为:这些可能取值都是有值的,默认从0开始,一次递增1,当然在定义的时候也可以赋初值。例如:枚举类型的使用:定义枚举后,可以使用该枚举类型来声明变量,也可以将枚举成员作为常量来使用。一下是一个用C语言实现的原创 2024-02-27 23:37:40 · 495 阅读 · 1 评论 -
C语言动态内存管理 - 动态内存函数|相关笔试题
stdlib.h>这个函数用于向内存申请一块连续可用的空间系统内存足够,内存空间开辟成功,返回一个指向开辟好空间的起始位置的指针。系统内存不足够,内存空间开辟失败,则返回一个NULL指针,因此malloc的返回值一定要检查是否为空。malloc的返回值的类型是void*,所以malloc函数并不知道开辟空间的类型,具体在使用的时候使用者自己来决定。特别的,如果参数 size 为 0,malloc的行为标准是未定义的,取决于编译器。原创 2024-03-02 22:33:21 · 915 阅读 · 3 评论 -
C语言文件操作 - 基本操作|二进制文件|读取结束判定|文件缓冲区
其中,stream是文件指针,offset是偏移量,origin是offset的参考,一共有三种:SEEK_SET : 文件的起始位置SEEK_CUR : 文件指针的当前的位置SEEK_END : 文件的结束位置示例:假设在项目路径下有data.txt的文本文档,内容如下:int main()return 1;//定位文件指针到'f'//从文件开始的位置,定位到'f',偏移量是5fclose(pf);pf = NULL;return 0;原创 2024-03-09 15:59:38 · 1078 阅读 · 0 评论 -
C语言程序环境和预处理Pt.1 - 预处理指令|预处理操作符
_FILE__ //进行编译的源文件__LINE__ //文件当前的行号__DATE__ //文件被编译的日期__TIME__ //文件被编译的时间__STDC__ //如果编译器遵循ANSI C,其值为1,否则未定义。原创 2024-03-14 09:45:11 · 1089 阅读 · 3 评论 -
C语言项目实战:通讯录 - 增删查改|动态分配|数据读取和保存
该项目用C语言实现了一个字符界面的通讯录,在终端窗口运行,功能包括对联系人信息的增添,查找(按照姓名),修改,删除,展示,排序(按照年龄)的功能;该代码的内存为动态分配,会随着输入数据的增多而动态分配,不用担心造成内存浪费的情况;在结束进程时,程序还能保存联系人数据到本地文件(以二进制形式保存),并在下一次打开时从本地读取到程序内存中。return 0;return 1;p->size++;fclose(pf);原创 2024-03-16 15:09:28 · 464 阅读 · 1 评论 -
C语言程序环境和预处理Pt.2 - 宏的命名约定|#undef|命令行定义|条件编译
Pt1:C语言程序环境和预处理Pt.1 - 预处理指令|预处理操作符-优快云博客。原创 2024-03-20 14:42:50 · 713 阅读 · 2 评论 -
函数栈帧的创建和销毁 - 局部变量|函数传参|函数调用|函数返回|图文详解
是在函数调用期间在上分配的内存区域,用于存储函数的局部变量、参数、以及用于函数调用和返回的相关信息。每当函数被调用时,都会创建一个新的栈帧,函数执行结束后,该栈帧会被销毁。原创 2024-03-20 17:50:28 · 1126 阅读 · 2 评论