C语言——梦想系列
文章平均质量分 93
从零开始,让梦启航。
这是C语言学习的专栏,系统性的介绍C语言。
北 海
六月城市之星(安顺)Top1、C/C++领域新星创作者、CSDN实力新星、华为云积极博主、阿里云社区专家博主,代码改变世界
展开
-
C语言进阶——文件操作
文件——是我们生活中必不可缺的一部分,优秀的文件管理能使我们工作效率更高,比如上学时的点名册、平时记账的手账本、电脑中存储数据的各种文件夹等。数据构成文件,文件成就数据,因此我们需要学习C语言中的各种文件操作,使数据能够做到持久化存储。图片来源:百度图片如上图所示,这就是文件,不过这是传统的纸质文件。在我们电脑中的都是电子文件夹,存储的都是电子文件,比如数字、图片、文档等,这些数据都是存储在我们电脑的硬盘上的,只要硬盘没坏,那么这些数据随时随地都能找到,而且方便检索。原创 2022-10-14 14:37:36 · 4305 阅读 · 68 评论 -
C语言进阶——动态内存管理
栈区、堆区以及静态区,这三块区域比较重要。比如我们的 main 函数就是在栈上开辟的空间,当然我们使用的一般变量也都是存储在栈区上的,但是栈区空间有限,不能存储较大的数据,此时我们会通过动态内存管理来为这些“大数据”在堆上开辟空间供其使用,用完后记得释放内存就好了,除了储存“大数据”外,在堆区上开辟的空间还可以随意改变其大小(扩大或缩小都可以)。由此可见动态内存开辟的实用性,要想实现动态内存开辟也不难,只需要跟着本文一步一步学习就好了!原创 2022-09-30 19:06:55 · 3564 阅读 · 39 评论 -
C4996 “scanf“ 问题——初学者使用VS的拦路虎
微软的VS系列编译器号称地表最强集成开发环境(IDE),现在已经更新到了2022版,丰富的功能和高级的界面,对于学校里用的VC++ 6.0简直是降维打击,很多追求优质编码环境的同学可能都会去网上找到VS的资源,然后安装使用,当一切环境准备就绪时,发现涉及到使用 scanf 的代码无法编译,再三检查后发现代码没有任何问题,一时间甚至会怀疑自己是不是下错了编译器。其实没有,这是一个很常见的报错,也是所有想用VS的同学必过的一道坎。下面让我来教大家如何跨过这道坎:...原创 2022-07-30 18:08:21 · 5015 阅读 · 9 评论 -
C语言进阶——程序环境和预处理
在C/C++中,所有的代码在输出结果前都需要经过这五个阶段:预编译—>编译—>汇编—>链接—>执行代码。其中前四个阶段是在翻译环境下进行,因为在翻译环境中有编译器和链接器这两个重要工具,二者配合能将文本形式的代码转化为对应的二进制代码和可执行文件;而最后一个阶段是在执行环境中进行的,代码在这个阶段已经打包好了,只需要执行器运行此代码,结果就能很好的输出。可以看出,整个代码运行逻辑是极其严谨和巧妙的。除程序环境外,C/C++在预处理阶段还有各式各样的预处理指令等着我们去发掘,一起来看看吧!原创 2022-10-16 17:28:04 · 1550 阅读 · 71 评论 -
C语言进阶——自定义类型
简单数据类型和复杂数据类型,简单数据类型就是我们经常用到的整型(int)、实型(float)、字符型(char)等,复杂数据类型中有结构体(struct)、位段(struct)、枚举(enum)和联合体(union)这几种。简单数据类型负责存储简单的数据;而复杂数据类型则适用于复杂对象的描述,比如我们学生的信息、图书的信息等。使用复杂数据类型(即自定义类型)能很好的进行数据存储与访问,所以还在等什么呢?让我们一起进入更深层次的数据世界吧!原创 2022-09-24 16:19:53 · 1987 阅读 · 39 评论 -
C语言进阶——字符串&&内存函数
我们从字符串类型操作开始,延伸到全数据类型的操作,中间还介绍了几个字符分类函数,这些库函数就像一件件实用的工具,是前人智慧的结晶,所以我们不仅要会用,还要用好,并将它们运用到代码中。知其然,并知其所以然,对这些库函数的模拟实现能让我们更为全面的了解实现原理,并避免犯错。原创 2022-09-16 15:21:50 · 2010 阅读 · 32 评论 -
C语言进阶——指针进阶试题讲解(万字长文详解)
指针,一块存储其他内存块地址的空间,不仅能监管别人的地址信息,还拥有属于自己的地址。在取地址操作符(&)与解引用操作符(*)的“双重折磨”下,很多人对指针望而生畏,常常会掉进不规范使用指针而引发错误的大坑中。本文旨在通过众多例子来带大家理解指针(主要包含sizeof、strlen和多道指针笔试题),本文篇幅可能较长,请系好安全带,跟我走!原创 2022-09-11 21:35:59 · 3081 阅读 · 34 评论 -
C语言进阶——指针进阶
指针就是地址,而凡是存储在内存中的值都会有属于自己的地址,指针指向地址,这样我们就能通过指针间接操作变量。我们在指针初阶中介绍了指针的基本概念:如指针大小、野指针问题、指针间的关系运算等,在我们的指针进阶中,将会对指针进行进一步剖析,见识更深的指针!🎊🎊......原创 2022-08-13 18:48:04 · 1845 阅读 · 18 评论 -
C语言进阶——数据在内存中的存储
数据类型算是C语言中的底层部分了,不同数据类型的数值轮回也是合情合理,在做题时注意看是否有符号,这样在进行计算时就可以判断出是否接近边界;不同类型的数据都有其应用场景,只有做到场景匹配了,程序效率才会最大化。总的来说,无论是反码相加还是浮点数的存储,都是非常巧妙的设计,是无数前辈绞尽脑汁的最优解,正是因为有了这些规则,今天我们才能看到如此完善的C语言体系。今天,我们站在巨人的肩膀上,明天,我们也许就能实现巨人们远大的理想!🌌..................原创 2022-08-10 22:10:20 · 1526 阅读 · 24 评论 -
C语言初阶——实用调试技巧
当我们设好监视值后,就可以按F10 或F11 来观察变量的变化情况,当然监视窗口内的监视值可以随时改变,也可以在调试过程中唤出监视窗口,使用都很自由。F5 一般是在有断点的情况下使用,而断点是用来跳过无用语句或循环的,F10 是在不想进入函数时使用,F11 则是非常详细的进行调试,会进入函数内部。链式访问、const保护被拷贝的指针,assert断言、利用 '\0' 巧妙赋值和结束循环、完善函数的返回类型。想要读懂汇编代码需要经过一定的学习,在某些场景下,汇编代码更能展示代码实现逻辑。......原创 2022-08-08 15:15:27 · 2968 阅读 · 11 评论 -
C语言初阶——结构体
无论是整型、实型还是我们的数组,它们都只能描述单一对象,无法对一个复杂对象进行描述,比如我们的学生信息,包含学生姓名(字符型数组)、学号(整型)、电话号码(整型数组)等,将需要的信息整合在一起,配合上结构体关键字(struct),这样我们就得到了一个结构体变量。合理使用结构体变量能让我们对现实世界中的信息做出更好的描述。一起看看结构体吧!🎉🎉🎉.........原创 2022-08-04 20:33:32 · 448 阅读 · 4 评论 -
C语言初阶——指针
指针是我们内存中最小单元的地址编号,因此指针能储存我们程序中各种变量在内存中的对应地址(&取出地址放入指针变量内,使用时通过*解引用访问操作即可),指针使用起来高效迅速,能够用一个指针变量记住复杂变量的地址,然后对其进行远程操作;但因为指针代表的是计算中的底层地址,不容易观察,因此很多人认为指针很难,根本学不懂,其实没那么夸张,指针不过是地址,是我们用来辅助完成程序设计的工具而已。下面让我带大家进入指针的世界!🎉🎉🎉...原创 2022-08-04 15:59:04 · 1256 阅读 · 3 评论 -
C语言初阶——操作符
除号比较特殊,如果两端操作数类型都一样就执行相应除法,比如 整型 / 整型结果为整型,浮点型 / 浮点型结果为浮点型,但是如果整型 / 整型产生的结果中有小数(浮点型)只会显示整数部分,除非将其中一个或两个都写成浮点型,比如 5 / 3 产生小数但只显示整数,我们可以写成 5.0 / 3此时会显示小数部分。...原创 2022-07-31 18:43:30 · 720 阅读 · 3 评论 -
扫雷——循环、函数、数组三位一体
💣扫雷,一款微软在上世纪九十年内置于windows的小游戏,玩法很简单,根据提示避开所有雷区即可获胜,原理也很简单:通过两个数组和功能实现函数的配合,实现踩雷结束,否则提示的基本逻辑。如今在win11上已经看不见这款小游戏了,根据第一性原则,没有我们就去创造,下面让我们一起看看扫雷是怎样诞生的😀......原创 2022-07-29 22:37:33 · 1114 阅读 · 11 评论 -
三子棋——年轻人的第一款小游戏
经过一段时间的学习,分支与循环、数组与函数的相关知识已经足够支撑我们完成一个小游戏了,这个小游戏不需要太多的功能,也不需要太复杂的逻辑,只需要懂点循环与分支,懂点数组的使用以及函数如何传参和返值即可。作为草稿纸上常出现的小游戏,三子棋的逻辑可谓是非常简单了,只需要玩家走一步、电脑走一步,并在八种可能获胜结果中比对就行了,下面让我们一起来看看三子棋的实现。...原创 2022-07-28 23:10:12 · 390 阅读 · 2 评论 -
C语言初阶——数组
数组是C语言中高频使用的工具,数组能将一组同类型的元素集合在一起,在进行调用或排序时很方便,由于有了数组,我们可以用数组名引用一系列变量,然后再通过下标索引的方式访问具体元素。数组还有一个特点:数组名表示首元素地址,这就意味着数组跟指针有着密切的联系,或者数组是指针的一种特殊表现形式。......原创 2022-07-28 17:15:20 · 842 阅读 · 2 评论 -
C语言初阶——函数
假设x=5,请问y等于多少?不知道大家是否还对数学中的函数有印象,x、y、z在几个字母的出现率不亚于英语作为中的李华,而在我们C语言中的函数与数学中的函数不太一样。维基百科给出的定义是:子程序(function),是一个大型程序中的某部分代码,由一个或多个语句块组成。函数部分代码负责完成某项特定任务,而且相对于其他代码比较独立。C语言中的函数是由函数返回值类型、函数名和函数参数组成,三者相辅相成,是完成任务的关键。.........原创 2022-07-26 20:17:09 · 813 阅读 · 1 评论 -
C语言初阶——分支与循环
从以前的笼统解释,到现在的详细分析,变的是内容,不变的是初心。分支与循环语句的知识我已经给大家讲解完毕了,包括具体用例和注意事项等,还有结尾的关机小程序很有意思,如果有需求,还可以加上倒计时之类的东西,让整个程序更有压迫感。以上就是本篇文章的全部内容了,如果觉得写的还不错的话可以一键三连,当然一个小小的点赞也能让我很开心,对知识的分享欲是我继续创作的最大动力......原创 2022-07-24 14:27:28 · 640 阅读 · 1 评论 -
初始C语言——梦启程的地方
在上一篇文章中我详细介绍了C语言中的启蒙代码—Hello Word!中各语句的具体用途与常见错误,前文的目的就是带大家进入C的世界,而本文就是带大家正式在C的世界中远航,让梦启程,争取以后能拿到满意的offer!.........原创 2022-07-22 19:32:07 · 794 阅读 · 3 评论 -
初始C语言——梦开始的地方
在本文中给大家详细介绍了C语言的基本知识,包括C语言特点、C语言标准、C语言主函数的各部分详解等,相信大家在阅读完本文后已经能够轻而易举的写出HelloWord!了,快去试试吧!原创 2022-07-16 13:32:24 · 1051 阅读 · 5 评论