C-进阶
文章平均质量分 65
༺࿈梦༒缘࿈༻
一起吹过晚风的人,大概记忆会久些吧
展开
-
【C语言进阶】通讯录(动态+文件)
通讯录的增删查改以及排序( 动态+文件)原创 2022-04-27 16:31:45 · 20274 阅读 · 4 评论 -
【C语言进阶】程序环境和预处理
程序的翻译环境和执行环境 详解编译+链接翻译环境编译本身也分为几个阶段运行环境预处理详解预定义符号#define#define 定义标识符#define 定义宏#define 替换规则#和##带副作用的宏参数宏和函数对比命名约定#undef条件编译常见的条件编译指令文件包含头文件被包含的方式嵌套文件包含原创 2022-04-26 17:50:26 · 1256 阅读 · 6 评论 -
【C语言进阶】文件操作
为什么使用文件什么是文件程序文件数据文件文件名文件的打开和关闭文件指针文件的打开和关闭文件的顺序读写fputc函数fgetc函数fputc函数fputs函数fgets函数fprintf函数fscanf函数fwrite函数fread函数sprintf和sscanf函数文件的随机读写fseek函数ftell函数rewind函数文本文件和二进制文件文件读取结束的判定被错误使用的feof文件缓冲区原创 2022-04-23 23:04:05 · 227 阅读 · 7 评论 -
【C语言进阶】自定义类型:结构体,位段,枚举,联合
结构体结构的声明特殊的声明结构的自引用结构体变量的定义和初始化结构体内存对齐为什么存在内存对齐?修改默认对齐数结构体传参位段位段的内存分配位段的跨平台问题位段的应用枚举枚举类型的定义枚举的优点枚举的使用联合(共用体)联合类型的定义联合的特点联合大小的计算原创 2022-04-20 17:16:56 · 180 阅读 · 8 评论 -
【C语言进阶】offsetof 宏的实现
目录宏的介绍代码实现offsetof 是一个宏,并非是一个函数 !!! 宏的介绍参数:第一个是结构体类型名称,第二个是结构体成员名返回类型:size_t无符号整形引用的头文件:<stddef.h>#include <stddef.h>struct Stu{ int a;//0~3 char c;//4 double d;//8~15};int main(){ printf("%u\n", sizeof(s...原创 2022-04-19 22:17:35 · 920 阅读 · 0 评论 -
【C语言进阶】动态内存管理
动态内存函数的介绍malloc和freecallocrealloc常见的动态内存错误对NULL指针的解引用操作对动态开辟空间的越界访问对非动态开辟内存使用free释放使用free释放一块动态开辟内存的一部分对同一块动态内存多次释放动态开辟内存忘记释放(内存泄漏)C/C++程序的内存开辟柔性数组柔性数组的特点:柔性数组的使用原创 2022-04-18 22:19:15 · 1692 阅读 · 9 评论 -
【C语言进阶】- 指针进阶(2)
函数指针函数指针数组指向函数指针数组的指针回调函数原创 2022-04-17 00:38:41 · 337 阅读 · 12 评论 -
【C语言进阶】按照qsort函数的形式,实现冒泡函数
#include <stdio.h>int int_cmp(const void* p1, const void* p2){ return (*(int*)p1 - *(int*)p2);}void _swap(void* p1, void* p2, int size){ int i = 0; for (i = 0; i < size; i++) { char tmp = *((char*)p1 + i); *((char*)p1 + i) = *((char*.原创 2022-04-17 00:35:14 · 691 阅读 · 4 评论 -
【C语言进阶】利用函数指针数组实现计算器
#include <stdio.h>int add(int a, int b){ return a + b;}int sub(int a, int b){ return a - b;}int mul(int a, int b){ return a * b;}int div(int a, int b){ return a / b;}int main(){ int x, y; int input = 1; int ret = 0; do { pri.原创 2022-04-16 17:51:33 · 524 阅读 · 3 评论 -
【C语言进阶】- 指针详解(1)
字符指针数组指针数组指针的定义数组指针的使用数组参数、指针参数一维数组传参二维数组传参一级指针传参二级指针传参原创 2022-04-15 22:53:25 · 339 阅读 · 5 评论 -
【C语言进阶】- 数据在内存中的存储
整型数据原、反、补码大小端介绍浮点型在内存中的存储原创 2022-04-10 22:51:48 · 789 阅读 · 20 评论 -
【C语言进阶】- 模拟实现atoi函数
atoi()函数的功能:将字符串转换成整型数;atoi()会扫描参数字符串,跳过前面的空格字符,直到遇上数字或正负号才开始做转换,而再遇到非数字或字符串时('\0')才结束转化,并将结果返回(返回转换后的整型数)。我们在传参的时候需要解决以下问题:空指针空字符串非数字字符前面有空白字符前面有+-溢出#include <stdio.h>#include <assert.h>#include <ctype.h>#include <.原创 2022-04-10 18:38:19 · 1169 阅读 · 10 评论 -
【C语言进阶】实现各种内存操作函数
memcpy(按字节的内存拷贝)memmove(重叠内存的拷贝)memcmp(按字节比较大小)memset(按字节进行初始化)原创 2022-04-08 18:22:02 · 921 阅读 · 8 评论 -
【C语言进阶】实现各种字符操作函数
目录strlen函数(求字符串长度)计数器方法递归方法指针-指针方法strcpy函数(字符串拷贝)strcat函数(字符串追加)strcmp函数(字符串比较)strstr函数(找长串中子串首次出现的位置)strncpy函数(拷贝n个字符)strncat函数(追加n个字符)strlen函数(求字符串长度)计数器方法#include <stdio.h>#include <assert.h>int my_strlen(const原创 2022-03-20 19:59:41 · 896 阅读 · 23 评论