自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

原创 C语言线性表

代码链接代码链接环形链表快慢指针,快指针一次走两步,慢指针一次走一步,两指针最终相遇说明有环。找入环的节点方法一:一个指针从起点开始走,一个指针从相遇点开始走,相遇点为入环点。

2023-09-03 12:47:22 39

原创 汉诺塔递归

参考视频: https://b23.tv/JtdNggX 分析图: 图不清晰,放个链接

2023-07-26 18:18:18 34 1

原创 程序的编译

查找策略:先在源文件所在目录下查找,如果该头文件未找到,编译器就像查找库函数头文件一样在标准位置查找头文件。3. 最后,再次对结果文件进行扫描,看看它是否包含任何由#define定义的符号。1. 在调用宏时,首先对参数进行检查,看看是否包含任何由#define定义的符号。1. 宏参数和#define 定义中可以出现其他#define定义的变量。2. 当预处理器搜索#define定义的符号的时候,字符串常量的内容并不被搜索。在define定义标识符的时候,不要在最后加分号,分号也会被替换。

2023-07-22 18:38:44 30

原创 C语言文件操作

每个被使用的文件都在内存中开辟了一个相应的文件信息区,用来存放文件的相关信息(如文件的名字,文件状态及文件当前的位置等)。每当打开一个文件的时候,系统会根据文件的情况自动创建一个FILE结构的变量,并填充其中的信息,使用者不必关心细节。在文件读取过程中,不能用feof函数的返回值直接用来判断文件的是否结束。而是应用于当文件读取结束的时候,判断是读取失败结束,还是遇到文件尾结束。比如程序运行需要从中读取数据的文件,或者输出内容的文件。一个文件要有一个唯一的文件标识,文件标识常被称为文件名。

2023-07-20 15:58:09 31 1

原创 C语言动态内存管理

返回值的类型是 void* ,所以malloc函数并不知道开辟空间的类型,具体在使用的时候使用者自己来决定。忘记释放不再使用的动态开辟的空间会造成内存泄漏。包含柔性数组成员的结构用malloc ()函数进行内存的动态分配,并且分配的内存应该大于结构的大小。使用free释放一块动态开辟内存的一部分(free接受的地址不指向动态内存的起始位置)结构中的最后一个元素允许是未知大小的数组,这就叫做『柔性数组』成员。这个函数向内存申请一块连续可用的空间,并返回指向这块空间的指针。对动态开辟空间的越界访问。

2023-07-19 12:44:57 40

原创 C语言中的自定义类型

4. 如果嵌套了结构体的情况,嵌套的结构体对齐到自己的最大对齐数的整数倍处,结构体的整体大小就是所有最大对齐数(含嵌套结构体的对齐数)的整数倍。4. 当一个结构包含两个位段,第二个位段成员比较大,无法容纳于第一个位段剩余的位时,是舍弃剩余的位还是利用,这是不确定的。位段涉及很多不确定因素,位段是不跨平台的,注重可移植的程序应该避免使用位段。位段的声明和结构是类似的,位段的成员名后边有一个冒号和一个数字(字节数)。当最大成员大小不是最大对齐数的整数倍的时候,就要对齐到最大对齐数的整数倍。

2023-07-14 20:04:46 45 1

原创 C语言指针

如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,我们就说这是回调函数。回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应。pfun1先和*结合,说明pfun1是指针,指针指向的是一个函数,指向的函数无参数,返回值类型为void。在计算机科学中,指针(Pointer)是编程语言中的一个对象,利用地址,它的值直接指向。p是一个指针,指向一个10个元素的数组,数组中每个元素为int类型。

2023-07-12 18:49:29 40 1

原创 C语言字符串函数、内存函数

追加num个字符,如果源字符串中的字符总数小于num个,则仅复制终止空字符(包括'\0')之前的内容。函数memcpy从source的位置开始向后复制num个字节的数据到destination的内存位置。如果源字符串的长度小于num,则拷贝完源字符串之后,在目标的后边追加0,直到num个。和memcpy的差别就是memmove函数处理的源内存块和目标内存块是可以重叠的。如果source和destination有任何的重叠,复制的结果都是未定义的。注意函数的返回值为size_t,是无符号的。

2023-07-11 18:11:54 34

原创 数据在内存中的存储

但是,我们知道,科学计数法中的E是可以出现负数的,所以IEEE 754规定,存入内存时E的真实值必须再加上一个中间数,对于8位的E,这个中间数是127;这时,浮点数就采用下面的规则表示,即指数E的计算值减去127(或1023),得到真实值,再将有效数字M前加上第一位的1。小端(存储)模式,是指数据的低位字节的内容保存在内存的低地址中,而数据的高位字节的内容,,保存在内存的高地址中。大端(存储)模式,是指数据的低位字节的内容保存在内存的高地址中,而数据的高位字节的内容,保存在内存的低地址中;

2023-06-28 13:56:23 53 1

原创 随机数、rand()函数

srand((unsigned)time(NULL)); rand();

2023-05-14 20:08:08 171 1

原创 初识C语言

/45.5 编译器默认double类型,45.5f为float类型//define定义标识符常量//define定义宏int main()return 0;

2023-04-22 15:57:21 47 1

原创 立个flag

我是南阳师范学院生物科学专业的,现开始学习编程技术,目标是成为编程大佬,进入字节跳动,于此立贴为证。学习编程必然离不开代码练习,大量的敲代码很重要!我打算每天在例行的学习之外,至少花一个小时学习编程。

2023-04-02 11:01:46 43

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除