
C语言
文章平均质量分 88
Forward♞
这个作者很懒,什么都没留下…
展开
-
二叉树的常见操作
原来,我们将size定义为了静态变量,当计算完B这棵树的节点再调用函数计算A树的结点树,size的大小已经为3了,这样最后得到的size就为8,显然错误。举个例子:树A的左子树是树B,右子树是树E,此时size为3,树B的左子树是树C,右子树是树D,此时size为5,C、D、E的左右子树都为空树,因此size为5。这么做好像是可以,但如果考虑到多线程的情况,如果两个线程同时调用这个函数,那size的值必定会被改变,因此将size定义为静态变量是行不通的。时,第k层节点的个数就是第n层节点的个数。原创 2023-10-01 21:53:40 · 157 阅读 · 0 评论 -
二进制、八进制、十六进制与十进制的相互关系
讲述了二进制、八进制、十六进制及其之间的关系。原创 2023-02-13 10:35:16 · 1661 阅读 · 4 评论 -
C/C++格式化输入与输出(位宽,左右对齐,%d,%f等)总结
C/C++格式化输入与输出(位宽,左右对齐,%d,%f等)总结原创 2023-02-25 15:21:33 · 4953 阅读 · 0 评论 -
C语言中的类型转换
详细讲述了隐式类型转换的整型提升,和算术转换原创 2023-05-28 10:40:23 · 943 阅读 · 0 评论 -
位运算符及其相关操作详解
位运算符详解以及一些实用技巧原创 2023-05-20 14:50:23 · 807 阅读 · 0 评论 -
整型在内存中的存储,整型最大值最小值的推导,以及大小端的介绍
首先我们要知道,整数在内存中有两种存储形式:大端字节序存储和小端字节序存储字节序:是以字节为单位,讨论存储顺序的大端字节序存储:把一个数据的低位字节的内容,从放在高地址处,一个数据的高位字节的内容,存放在低地址处小端字节序存储:把一个数据的低位字节的内容,从放在低地址处,一个数据的高位字节的内容,存放在高地址处例如对于如下代码return 0;我们在内存中可以看到num的存储形式:可以看到,这是以大小端字节序存储的(左边是低地址,右边是高地址)原创 2023-05-28 23:14:09 · 1530 阅读 · 1 评论 -
浮点数在内存中的存储以及用指针改变内存与强制转换的区别
int n = 9;printf("n的值为:%d\n" , n);printf("pFloat的值为:%f\n" , * pFloat);printf("n的值为:%d\n" , n);printf("*pFloat的值为:%f\n" , * pFloat);return 0;整数9在内存中的存储形式为我们用float类型的指针pFloat指向这段整型内存,那么根据上面的知识,我们可以得到:指数E全为0,因此printf("pFloat的值为:%f\n", *pFloat);原创 2023-06-02 14:37:34 · 852 阅读 · 5 评论 -
一篇带你玩转C语言指针:从入门到精通
对指针这一概念以及指针和数组、字符串、函数等之间的关系作了较为深刻的讲解,让不熟悉指针的小白也能实现从入门到精通的跨越原创 2023-07-09 21:33:47 · 563 阅读 · 2 评论 -
超全超详细的字符串操作函数和字符分类函数(附模拟实现)
注:点击蓝色的标题可以跳转到官方网站查阅更权威的函数解释哦。原创 2023-07-11 14:17:17 · 370 阅读 · 2 评论 -
带你全面了解四大内存操作函数memset(),memcpy(),memmove(),memcmp()(附模拟实现)
注:点击蓝色标题可以跳转到官方网站查看更权威的解析哦。原创 2023-07-11 20:47:48 · 151 阅读 · 0 评论 -
超全超详细的C语言结构体、位段、枚举、联合体详解
本次我们学习了C语言的自定义类型——结构体(struct)、位段、枚举(enum)、联合(union)应该重点掌握以下类容: 自定义类型的基本使用 熟悉结构体内存对齐的规则 熟悉各自定义类型的特点,并知道计算各自定义类型所占空间的大小原创 2023-07-14 11:42:05 · 953 阅读 · 0 评论 -
C语言——动态内存管理(malloc, calloc, realloc, free, 柔性数组详解)
注:需要头文件<stdlib.h>需要知道,和静态开辟空间不一样,计算机是在堆上开辟的动态空间。原创 2023-07-14 21:08:03 · 660 阅读 · 0 评论 -
C语言——文件操作(超全超详细)
磁盘上的文件是文件程序文件、数据文件(从文件功能的角度来分类的)原创 2023-07-19 14:59:38 · 20247 阅读 · 4 评论 -
程序的翻译环境和运行环境
在ANSI C的任何一种实现中,存在两个不同的环境。整个的翻译过程大概可以分为编译和链接两个阶段可以用下图来表示而编译这一过程又可以分为预处理,编译,汇编这三个阶段在这个阶段,预处理器将对源代码进行预处理,处理以开头的预处理指令。主要的预处理指令包括宏定义、文件包含和条件编译等。(所有的预处理指令都是在预处理阶段处理的)预处理器会展开宏定义,并将指令所引用的头文件内容插入到源代码中。同时,条件编译指令会根据条件判断决定是否保留特定部分的代码。例如:对于代码:经过预处理后,就变成了2.1.2 编译编译器原创 2023-07-22 11:40:47 · 151 阅读 · 0 评论 -
C语言——预处理
这不是C语句name是名字stuff是内容,是一段字符串实现的是简单替换,系统不会对其进行任何处理# include <stdio.h> # define N 50 //数字 # define STR "abcdef" //字符串 # define FOR for(;;) //代码段 int main() {FOR {} return 0;50。原创 2023-07-21 10:48:07 · 232 阅读 · 0 评论 -
C语言system()函数
作用:改变控制台背景色(由num1控制)和前景色(由num2控制),注意这里的num1和num2均为十六进制数。注:整个程序中,只有最后一个system(“color ”)生效,因此不能多处局部变色。这就是因为system(“pause”)暂停了进程,当我们按下任意键后程序继续.作用:设置窗口名字。name为要设置为的名字。作用:显示当前时间和日期。作用:暂停程序进程。原创 2023-05-30 23:11:34 · 2970 阅读 · 1 评论 -
C语言——修改控制台背景色和字体颜色
NUM1, NUM2可以为以下任何值:原创 2023-06-10 22:37:18 · 7143 阅读 · 4 评论