![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言进阶
文章平均质量分 97
C语言的进阶知识专栏,对C语言进一步地研究,C语言的知识进一步深入
猪巴戒
大二,非科班大学生,努力学习C语言,并把相关的知识分享给大家
展开
-
【C语言进阶】预处理详解
对预处理的相关知识进行详细的介绍原创 2024-01-22 23:28:05 · 2007 阅读 · 34 评论 -
【C语言进阶】编译和链接
介绍编译和链接相关知识,计算机如何识别我们的代码,如何将我们的代码转化为计算机可执行程序。原创 2024-01-22 18:49:31 · 931 阅读 · 2 评论 -
【C语言】文件操作
对文件操作的相关内容进行介绍,文件的概念,文件操作函数,文件结束原因判断函数,文件缓冲区的概念。原创 2024-01-21 20:09:22 · 2381 阅读 · 51 评论 -
【C语言】动态内存管理基础知识——动态通讯录,如何实现通讯录容量的动态化
动态内存管理的函数有:malloc,calloc,ralloc,free,本文讲解动态内存函数和使用,如何进行动态内存管理,实现通讯录联系人容量的动态化,对常见动态内存错误进行总结。原创 2023-12-22 12:59:51 · 6719 阅读 · 88 评论 -
【C语言】自定义类型——枚举、联合体
对枚举、联合体进行介绍,包括枚举的声明、枚举的优点,联合体的声明、联合体的大小。原创 2023-12-18 21:32:30 · 3004 阅读 · 128 评论 -
【C语言】实战项目——通讯录
学会创建一个通讯录,对过往知识进行加深和巩固。原创 2023-12-17 22:11:04 · 19150 阅读 · 108 评论 -
【C语言】结构体实现位段
对位段进行介绍,什么是位段,位段如何节省空间,位段的内存分布,位段存在的跨平台问题,及位段的应用。原创 2023-12-12 23:02:04 · 1881 阅读 · 77 评论 -
【C语言】【数据结构】自定义类型:结构体
这是一篇对结构体的详细介绍,这篇文章对结构体声明、结构体的自引用、结构体的初始化、结构体的内存分布和对齐规则、库函数offsetof、以及进行内存对齐的原因、如何修改默认对齐数、结构体传参进行介绍和说明。原创 2023-12-11 20:50:37 · 3971 阅读 · 55 评论 -
【C语言】搞懂内存函数
本文介绍memcpy的使用和模拟实现、memmove的使用和模拟实现、memcmp使用、memset使用原创 2023-12-09 15:50:05 · 1880 阅读 · 84 评论 -
字符函数和字符串函数
C语言中对字符和字符串的处理很是频繁,但是C语言本身是没有字符串类型的,字符串通常放在常量字符串中或者字符数组中。常量字符串适用于那些对它不做修改的字符串函数。目录前言字符分类函数函数介绍strlen正常情况下的strlen的使用在没有' \0 '的情况下(易错)strlen的返回值是无符号类型学会strlen函数的模拟实现1.计数器方法2.指针-指针方法3.递归方法strcpy源字符串必须以 '\0' 结束⽬标空间必须⾜够⼤,以确保能存放源字符串⽬标空间必须可修改strcpy的模拟实现strcat。原创 2023-12-07 09:29:11 · 1428 阅读 · 81 评论 -
C语言进阶之笔试题详解(2)
这里的内容包括二维数组笔试题和指针笔试题,供给读者对这部分知识进行加深和巩固。✨猪巴戒个人主页✨所属专栏《C语言进阶》🎈跟着猪巴戒,一起学习C语言🎈数组名的意义:1.sizeof(数组名),这里的数组名表示整个数组,计算的是整个数组的大小。2.&数组名,这里的数组名表示整个数组,去除掉是整个数组的地址。3.除此之外所以的数组名都表示首元素的地址。4.二维数组可以看作有多个一维数组组成,一维数组可以看作二维数组的每个元素,行数代表制二维数组的意思个数,列数代表一维数组的元素个数。原创 2023-11-30 08:49:08 · 1955 阅读 · 106 评论 -
C语言进阶之笔试题详解(1)
1.数组名大多数表示首元素的地址,有两个例外:1.sizeof(数组名)2.&数组名。数组名表示的是整个数组。2.不同类型地址跳过的字节不一样,&a+1,&a表示的是整个数组,+1就会跳过一个数组的大小。&a[0]+1,&a[0]是数组第一个元素的地址,所以+1跳过的是一个元素的大小。3.地址意义可能不同,但是地址的大小都是4 / 8个字节。1.strlen(const char* str)传递的参数是地址,如果传递数值的话,就会产生访问冲突的问题。原创 2023-11-26 10:07:51 · 2592 阅读 · 97 评论 -
C语言进阶之冒泡排序
中的e1,e2就是我们要比较数据的地址。在这个比较函数中我们实现不同类型的元素比较void*是无具体类型的指针,可以接收任何类型的地址void*是无具体类型的指针,所以不能解引用操作,也不能+-整数当比较函数返回的是大于0的数字,那么两组数据就会进行交换。进行整型数据的比较, 这是进行升序排列。原创 2023-11-21 21:50:53 · 677 阅读 · 100 评论 -
C语言进阶之指针(2)
函数指针--指向函数的指针return x+y;int main()//&数组名 - 取出的数组的地址//数组指针//&函数名——取出的是函数的地址//函数指针创立的形式对函数来说&函数名和函数名都是函数的地址。,可以省略x,y,主要把参数的类型表达清楚。我们可以取Add的地址传给pf,也可以直接将Add直接传给pf。原创 2023-11-14 22:40:27 · 334 阅读 · 67 评论 -
C语言进阶之指针(1)
数组指针是数组还是指针?答案:指针。//p1,p2分别是什么?p1是指针数组,p2是数组指针。p1没有和没有()与[10]结合,代表有10个元素的数组,每个数组的类型是int*p2有()与 * 结合,代表p2是一个指针,指向的是[10],10个整形元素的数组。原创 2023-11-14 07:30:00 · 183 阅读 · 16 评论 -
[C语言]数据在内存中的存储(浮点数篇)
关于浮点数的储存规则,及浮点数相关的题目解析原创 2023-10-29 16:40:23 · 168 阅读 · 12 评论 -
关于数据在内存中的存储(整形篇)
本文讲总的数据类型,着重讲解整形在数据中的存储方式,是关于C语言的重要基础内容。原创 2023-10-26 16:00:00 · 146 阅读 · 10 评论