- 博客(17)
- 收藏
- 关注
原创 数据结构:双向链表
这里我们在List.h文件中定义了一个结构体,并将其改名为了LTNode,如上图结构体中的两个指针分别用来保存前一个和后一个结构体(节点)的地址,另还有一个date数据用来存储数据。然后我们再在test.c文件中定义plist指针。随后我们的下一步就是初始化链表了!
2024-12-22 17:06:10
1471
14
原创 C语言专题之文件操作(巨详细)
来管理和操作文件。新作一篇,大家好,在小编之前的文章中小编已经介绍了部分文件操作相关的函数,不过小编也只是简要介绍了其函数原型,接下来在这篇博客中小编将详细介绍文件操作相关知识!通过精心设计的格式控制字符串,我们可以轻松地实现数据的标准化输出和输入,大大简化了文件处理的过程。在这个例子中,我们选择了"a"模式,这样可以确保新的日志条目被追加到现有内容的末尾,而不会意外地覆盖之前的记录。函数,开发者可以高效地处理各种二进制数据,无论是简单的数值还是复杂的结构体,都能实现快速、可靠的文件读写操作。
2024-12-14 18:16:27
1013
6
原创 C语言专题之宏的基本概念
宏定义是C/C++语言中一项强大而灵活的特性,它允许程序员使用预处理器指令来创建简化的代码表示。这种机制不仅提高了代码的可读性和可维护性,还能在某些情况下优化程序性能。#define 标识符 替换文本其中,“标识符”是用户定义的宏名,“替换文本”则是宏被调用时将被替换的内容。值得注意的是,宏定义并非C/C++语言的标准语句,而是一种预处理指令,因此在使用时无需在行末添加分号。类型描述无参数宏仅包含常量表达式带参数宏可接受参数,类似于函数。
2024-12-11 22:41:35
1318
15
原创 C语言专题之动态内存管理
动态内存管理是程序运行时按需分配和释放内存的过程。与静态内存分配相比,它提供了更灵活的内存使用方式,以适应数据大小不确定或运行时变化的情况。在C/C++等语言中,动态内存管理主要通过函数如malloc(), calloc(), realloc(), 和 free()来实现。
2024-12-07 17:48:06
464
3
原创 C语言专题之get相关函数介绍
1.这个函数不需要参数,它从标准输入流(通常是键盘输入)读取一个字符。2.函数返回值为读取到的字符的ASCII码值(以int类型返回)。如果发生错误或者到达文件末尾(例如在重定向输入时到达文件末尾),则返回EOF(EOF是一个在<stdio.h>中定义的宏,通常为 -1)。
2024-12-06 23:22:26
1181
2
原创 C语言专题之结构体的使用
结构体的声明和定义通常是分开进行的。首先,需要声明一个结构体类型,然后使用该类型定义结构体变量。例如:在这个例子中,我们声明了一个名为student的结构体类型,它包含了三个成员:name(字符数组)、age(整数)和score(浮点数)。然后,我们定义了一个名为s1的结构体变量,它的类型是student。
2024-12-05 23:36:10
560
3
原创 C语言专题之函数指针介绍
函数指针的声明形式为,其中 ptr 是指向返回类型为 return_type,参数为 arguments 的函数的指针。
2024-12-03 22:37:07
332
1
原创 C语言专题之指针数组和数组指针的区别以及函数指针的介绍
是一个指向数组的指针,其定义形式为数据类型 (*指针名)[数组长度]。例如int (*ptr)[5],这里ptr是一个指向包含5个int类型元素的数组的指针。是一个数组,其元素都是指针,定义形式为数据类型 *数组名[数组长度]。例如int *ptrArr[5],这表示ptrArr是一个包含5个整数指针的数组。
2024-12-02 23:12:12
449
1
原创 C语言专题之文件操作相关函数
1)函数原型:size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream);1)函数原型:size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream);1)函数原型:char *fgets(char *s, int n, FILE *stream);1)函数原型:int fputs(const char *s, FILE *stream);
2024-12-01 23:32:15
1804
2
原创 C语言专题之常用内存相关函数
在这个示例中,str1 和 str2 的前五个字节不完全相同('l' 和 'o' 的区别),因此 memcmp 返回一个非零值。memset函数用于将一块连续的内存区域中的所有字节设置为指定的值,注意是字节。memcmp 是一个强大且灵活的函数,它能够准确比较两个内存块的前 n 字节,非常适合用于需要逐字节精确比较的场景。当你使用 memset 时,需要确保你知道所使用的值在目标类型的上下文中是如何解释的。2.c: 要填充在每个字节中的值(注意:传入的是 int 类型,但实际填充的是该值的低8位)。
2024-11-29 22:45:26
2031
2
原创 C语言专题之字符串引号的使用
字符常量(如 'A')只包含一个字符,而字符串(如 "A")则被存储为一个字符数组,即使它只有一个字符,也会自动添加一个终止符'\0'。例如,字符串 "A" 实际上占用两个字节的内存,一个字节存储'A',另一个字节存储终止符'\0'。例如,'A'是一个字符,而"A"是一个包含一个字符的字符串。在写代码时我们经常会输入或输出字符或字符串,但对于字符我们知道需要使用双引号("")或单引号(' '),初学C语言的小伙伴可能会不理解在不同场合改如何使用,接下来我会给大家介绍他们的区别,以及不同的使用场景。
2024-11-28 23:17:08
615
2
原创 C语言专题之常用字符串相关函数
该函数是用来在一个字符串中找另一个字符串的函数,返回找到的字符串的首字母的地址,如上图,在arr对应字符串中寻找p对应的字符串,若arr中包含p对应的字符串则返回找到的字符串的首字母的地址,即返回arr中e的地址,后续打印则会打印出e及其后面的字母,即efabcdef。strcpy是用来复制字符串内容的函数,函数返回目标字符串首字母的地址,函数第一个参数上传目标字符串首字母地址,第二个参数上传需要复制的字符串的首字母地址,即将第二个地址里的内容复制到第一个地址中去。而函数会返回目标字符串的首字母的地址。
2024-11-27 23:51:39
461
6
原创 个人学习记录
本人现在是大一新生,与2024年八月开始学习编程,学完C语言后于十一月二十六日准备进军c++,写下这篇文章的目的记录自己的学习过程,以及鞭策自己不断学习,我会通过学校学习以及网课学习来不断提升自己,我会督促自己每周花费至少十二小时来进行编程学习,争取尽早熟练掌握编程技能,找到一个好工作。学习永无止境,希望这篇文章能给正在艰苦学习的你和我提供一丝动力。
2024-11-26 19:16:52
151
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人