![](https://img-blog.csdnimg.cn/2978d250ecfa438cb90136dfe9372c09.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
C语言学习分享
文章平均质量分 92
本专栏是博主学习C语言过程中的相关知识点总结
独享你的盛夏
非科班大二在读,阿里云博客专家,致力于C/C++后端研发。乐于分享成长过程中的芝麻,欢迎相互交流。
展开
-
C编译环境和预处理(非常详细,建议收藏)
一、程序的翻译环境和执行环境二、 详解编译+链接2.1 翻译环境2.2 编译本身的几个阶段符号汇总、符号表、合并段表、符号表的合并和重定位分别是什么?2.2 运行环境三、预处理详解3.1 预定义符号3.2 #define3.2.1 #define 定义标识符3.2.2 #define 定义宏3.2.3 #define 替换规则3.2.4 # 和####的作用3.2.5 命名约定四、宏和函数对比五、 #undef六、命令行定义七、条件编译八、文件包含8.1 头文件被包含原创 2023-11-20 17:42:42 · 1614 阅读 · 5 评论 -
【八大经典排序算法】冒泡排序
冒泡排序由于其简单和易于理解,使其成为初学者学习排序算法的首选,也是初学者接触到的第一个排序算法。其原理是通过重复交换相邻的元素来将最大的元素逐步“冒泡”到最后。冒泡排序由美国计算机科学家冯·诺伊曼(John von Neumann)于1945年提出。冯·诺伊曼是计算机科学和现代计算机体系结构的奠基人之一,他在设计计算机算法时,意识到排序是计算机科学中的一个基本问题。于是,他提出了冒泡排序算法。冒泡排序的思想是基于比较相邻元素的大小,如果顺序不正确,则交换它们的位置。原创 2023-09-18 16:44:03 · 1414 阅读 · 32 评论 -
【无标题】自定义类型:位段,枚举,联合
位段、枚举和联合在计算机中有着各自的意义和重要性,可以提高代码的可读性、可维护性和效率。在合适的场景下,选择合适的数据结构可以使程序更加清晰、高效。原创 2023-07-27 22:42:53 · 767 阅读 · 54 评论 -
内存泄漏是什么?有什么危害
在各种项目开发中,内存泄漏是一个很严重的问题。内存泄漏可能会导致系统性能下降、程序崩溃、安全漏洞以及资源浪费等严重后果和危害。因此,及时发现和修复内存泄漏问题是十分重要的。本篇博客将详细介绍内存泄漏是什么,有什么危害。原创 2023-07-26 21:00:39 · 5314 阅读 · 29 评论 -
动态内存管理学习分享
动态内存开辟是C语言的两大重点之一。正确使用动态内存开辟可以灵活调整内存空间的大小,节省内存以及避免内存溢出等现象。深度了解动态内存开辟的好处及重要性可以帮助程序员更好地进行内存管理,提高程序性能和效率,避免内存溢出和浪费,增加程序的灵活性和可扩展性。原创 2023-07-27 13:55:00 · 630 阅读 · 27 评论 -
自定义类型:结构体进阶学习分享
结构体在C语言中具有重要的意义。它不仅可以封装和组织数据,还可以提供抽象和封装的能力,方便数据的传递和操作,提高代码的可读性和可维护性,是C语言中常用的数据类型之一。本篇博客将详细介绍相关知识。原创 2023-07-22 17:37:48 · 713 阅读 · 56 评论 -
指针进阶详解(下)
指针在编程中非常重要。它们允许程序员直接访问和操作计算机内存中的数据。指针可以用于动态分配内存、传递参数、实现数据结构(如链表和树)以及优化程序性能。在指针进阶详解(上)中,我们已经介绍了部分指针进阶相关知识,接下来我们将继续介绍指针进阶相关知识。原创 2023-07-16 11:19:06 · 513 阅读 · 58 评论 -
冒泡排序模拟实现qsort()函数
要模拟qsort()函数,我们首先要知道qsort()函数的特点:使用快速排序的方法。适用于任何数据类型的排序。但由于部分学者还没有学习快速排序算法,所以本篇博客采用冒泡排序来模拟功能类似于qsort()的函数bubble_sort。原创 2023-07-14 11:22:18 · 1199 阅读 · 57 评论 -
指针进阶详解(上)
指针是检验学者对C语言掌握好与坏的重要标准之一,在指针初阶指针是一个变量,用来存放地址,地址唯一标识一块空间。指针的大小固定为4/8个字节(32位平台/64位平台)指针是有类型,指针的类型决定了指针±整数的步长,指针解引用时候的权限。指针的运算。接下来,我们将继续探讨指针的高级主题。原创 2023-07-13 14:54:18 · 665 阅读 · 57 评论 -
指针和数组笔试题解析(最详细解析,没有之一)
指针和数组在许多编程场景中经常结合使用,比如通过指针来访问数组的元素、通过指针来遍历数组等。指针和数组的灵活应用可以帮助我们更好地处理和操作数据,提高程序的性能和效率,指针和数组在C语言中具有重要的地位和作用,它们是程序设计中不可或缺的重要概念。本文将详细解析指针和数组相关笔试题!!原创 2023-07-13 07:52:32 · 278 阅读 · 18 评论 -
C语言数据存储 —— 浮点型篇
浮点数在内存中的存储方式对程序员来说非常重要。理解浮点数的存储方式可以帮助程序员避免一些常见的错误,如:溢出和下溢、舍入误差和类型转换。此外,了解浮点数的存储方式还可以帮助程序员优化代码,提高程序的性能。因此,对一名优秀的程序员来说,理解浮点数在内存中的存储方式是至关重要的!!本文将详细介绍相关语法和标准。原创 2023-06-23 12:32:53 · 733 阅读 · 23 评论 -
typedef 和 # define 用法区别
typedef和# define都可以用来定义类型或常量,但它们的作用不同。同时正确区分typedef和# define的使用是非常重要的,可以提高代码的可读性和维护性。但很多人对两者却一直区分不开。本篇文章将详细介绍两则的用法和差异!!希望对读者有帮助。原创 2023-06-08 00:43:48 · 778 阅读 · 21 评论 -
编程最重要的技术之一 — 调试(以C语言代码为例)
调试在软件开发中具有非常重要的意义和作用,是开发过程中不可或缺的一环,是对程序进行分析、排查错误和修正错误的过程。在实际开发过程中,调试可以帮助开发者发现程序中的潜在问题,提高代码的质量。同时调试,可以让开发者深入了解程序的运行机制,提高编程技能和经验等等。总而言之,调试是编程中最重要的技术之一。本文将基于C语言代码,详细介绍调试种类和用途。在C语言的发展过程中,第一次被发现导致计算机错误的一只飞蛾,也就是的一个计算机程序错误。并将程序错误取名为bug。原创 2023-06-02 22:39:55 · 2656 阅读 · 23 评论 -
C语言数据存储 — 整型篇
在C语言中,了解相关数据存储对一名优秀程序员来说是至关重要的!通过相关原理,从而更加深入地理解计算机如何存储和操作数据,这对于编程人员来说是非常重要的。只有深入理解计算机存储和操作数据的原理,才能编写出更加高效、可靠的程序。本文将详细介绍C语言中整型数据是如何存储的,希望能帮助读者在编程路上更近一步!!使用这个类型开辟内存空间的大小(大小决定了使用范围)如何看待内存空间的视角大端(存储)模式又称大端字节序存储:数据的低位字节中的数据存放在高地址处,高位字节中的数据存放在低地址处。原创 2023-05-28 11:04:22 · 1399 阅读 · 24 评论 -
C语言结构体
C语言结构体是一种自定义数据类型,可以将不同数据类型的变量组合成一个整体,方便进行操作和处理,语言中具有重要的作用和意义,是C语言面向对象编程的基础。通过定义结构体,可以将相关的数据和函数封装在一起,形成一个独立的模块,便于代码的组织和管理。本篇文章将初步介绍C语言结构体相关知识!原创 2023-05-26 10:54:19 · 894 阅读 · 25 评论 -
C语言指针
在C语言中,指针是一个非常重要的概念,也是C语言的一大特点!它可以让程序员直接访问内存地址,更加灵活地利用内存和实现各种复杂的功能,从而实现对内存的灵活控制和高效利用。本篇文章将介绍C语言指针的相关语法及用途,希望能够帮助读者进一步了解指针!原创 2023-05-26 00:05:47 · 900 阅读 · 23 评论 -
C语言操作符详解(下)
在C语言操作符详解(上)中,已经详细系统的介绍了各种操作符及其使用场景。接下来,本文将逐步介绍编译器执行这些代码背后所做的事情、操作符优先级、结合性以及求值顺序!原创 2023-05-19 18:16:26 · 734 阅读 · 12 评论 -
C语言操作符详解(上)
在C语言中,C标准提供了丰富的操作符,被用来对数据进行操作和计算,常用数学计算、比较、逻辑运算等操作。操作符是编程语言中非常重要的一部分,它们可以使程序更加简洁、高效,同时也可以增强代码的可读性和可维护性。本文将详细系统介绍C语言操作符,希望能帮读者全面理解C语言操作符!!原创 2023-05-17 07:31:21 · 935 阅读 · 12 评论 -
人机大战?——带你玩转三子棋(C语言)
在学习完数组之后,我们就可以自己来实现一个简单游戏—三子棋了!为了确保程序的独立性:我们创建了一个源函数game.c 和test.c,一个头文件game.htest.c——测试游戏game.c——游戏函数的实现game.h——游戏函数的声明。原创 2023-05-14 08:31:46 · 819 阅读 · 16 评论 -
函数—C(下)
在函数(1)中已经详细介绍了什么是库函数和自定义函数,以及函数参数的两种类型(实参和形参)的区别和用法。接下来将接着介绍函数的其他用法,让读者全面理解C语言函数用法以及背后得细节。函数声明告诉编译器有一个函数叫什么,参数是什么,返回类型是什么。但具体是不存在的,函数声明决定不了。函数的声明一般在函数使用之前,要满足先声明后使用。函数的声明一般要放在头文件中。函数的定义是指函数的具体实现,交代函数的功能实现。程序调用自身的编程技巧称为递归。递归作为一种算法在程序设计语言中广泛应用。原创 2023-05-07 19:52:12 · 389 阅读 · 21 评论 -
函数—C(上)
如何组织函数?C的设计思路是把函数用作构建块,是完成特定任务的独立程序代码单元。本文将详细介绍函数相关结构、使用方式以及背后相关细节。希望能够帮助读者进一步理解C函数。原创 2023-05-07 00:32:28 · 341 阅读 · 11 评论 -
数据和C——万字详解(C Primer Plus)
程序离不开数据。把数据、字母和文字输入计算机,就是希望它利用这些数据完成某些任务。例如,需要计算一份利息或显示一份葡萄酒商的排序列表。本篇文章除了介绍如何读取数据外,还将教会读者如何操控数据。C语言提供了两大系列的多种数据类型。本篇文章将详细介绍两大数据类型:整数类型和浮点数类型,详细介绍这些数据类型是什么、如何声明它们、如何及何时使用它们。除此之外,还将介绍变量和常量的区别。原创 2023-04-30 09:36:51 · 920 阅读 · 11 评论 -
带你窥探分支和循环语句全貌——这一篇就够了
在C语言中,语句可分为5类:表达式语句、函数调用语句、控制语句、复合语句、空语句。本篇将详细介绍控制语句。控制语句用于控制程序的执行流程,以实现程序的各种结构方式(顺序结构、循环结构、选择结构),它们由特定的语句定义符组成。C语言有if语句、switch语句do while语句、while语句、for语句break语句、goto语句、continue语句、return语句。原创 2023-04-22 15:24:29 · 376 阅读 · 17 评论 -
C语言难?深度剖析第一段C语言代码—带你快速入门C语言
本片文章将基于以下简单代码,麻雀解剖,希望能帮读者真正理解C语言程序。原创 2023-04-13 08:53:52 · 620 阅读 · 10 评论 -
字符函数和字符串函数解析及模拟实现
字符函数和字符串函数在C语言中的使用非常广泛,几乎所有的C程序都会使用到这些函数。无论是简单的输入输出操作,还是复杂的字符串处理,都离不开这些函数的支持。因此,掌握和理解字符函数和字符串函数的用法是学好C语言编程的基础。原创 2023-07-24 11:12:17 · 549 阅读 · 75 评论