数据结构
数据结构和算法不分家
文件操作
写在前面 为什么使用文件: 让数据持久化保存。 在程序设计中,我们一般谈的文件有两种:程序文件和数据文件。 程序文件 程序⽂件包括源程序⽂件(后缀为.c),⽬标⽂件(windows环境后缀为.obj),可执⾏程序(windows 环境后缀为.exe)。 数据文件 ⽂件的内容不⼀定是程序,⽽是程序运⾏时读写的数据,⽐如程序运⾏需要从中读取数据的⽂件,或 者输出内容的⽂件。程序文件何以读取数据文件 文件名 ⼀个⽂件要有⼀个唯⼀的⽂件标识,以便⽤⼾识别和引⽤。 ⽂件名包含3部分:⽂件路径+⽂件名主⼲+⽂件后缀 例如:c:\code\test.txt 为了⽅便起⻅,⽂件标识常被称为⽂件名。 二进制文件和文本文件 根据数据的组织形式,数据⽂件被称为⽂本⽂件和⼆进制⽂件。 数据在内存中以⼆进制的形式存储,如果不加转换的输出到外存的⽂件中,就是⼆进制⽂件。 如果要求在外存上以ASCII码的形式存储,则需要在存储前转换。以ASCII字符的形式存储的⽂件就是⽂ 本⽂件。 写在最后
内存区域的理解和未定义行为
区分合法的内存区域和非法的内存区域及未定义行为
qsort 的模拟实现
C 语言模拟实现 qsort 函数
C 语言指针详解(3)
写在前面 这里我默认你看完了 C 语言指针详解(2), 现在尝试做一些试题吧~ sizeof 对比 strlen sizeof计算变量或类型所占内存空间的大小, 单位字节. 只关注占⽤内存空间的⼤⼩,不在乎内存中存放什么数据 strlen是库函数, 用来求字符串长度. strlen函数会⼀直向后找\0字符, 直到找到为⽌,所以可能存在越界查找 char *p = "abcdef";printf("%d\n", strlen(p));printf("%d\n", strlen(p+1));printf("%d\n", strlen(*p));printf("%d\n", strlen(p[0]));printf("%d\n", strlen(&p));printf("%d\n", strlen(&p+1));printf("%d\n",...