摘要: 转载自 Aegisprogram https://aegisprogram.github.io/2021/07/01/how-to-choose-a-blog/ 在现在这个信息发达的时代,越来越多非程序员出身的人也想要一个自己的博客。目前也诞生了不少的在线博客网站和博客框架,博客大致分为主要分为动态 阅读全文
posted @ 2022-12-04 21:41 NcPhoton 阅读(966) 评论(0) 推荐(1)
摘要: 递归实现 void _MergeSort(int* arr, int left, int right, int* tmp) { if (left >= right) return; int mid = left + (right - left) / 2; _MergeSort(arr, left, 阅读全文
posted @ 2022-12-04 21:28 NcPhoton 阅读(21) 评论(0) 推荐(0)
摘要: 堆排序 void AdjustDown(int* arr, int sz, int root)//向下调整 { int parent = root; int child = root * 2 + 1; while (child < sz) { if (child + 1 < sz && arr[ch 阅读全文
posted @ 2022-12-04 21:28 NcPhoton 阅读(31) 评论(0) 推荐(0)
摘要: 简介 快速排序是由东尼·霍尔所发展的一种排序算法。在平均状况下,排序 n 个项目要 Ο(nlogn) 次比较。在最坏状况下则需要 Ο(n2) 次比较,但这种状况并不常见。事实上,快速排序通常明显比其他 Ο(nlogn) 算法更快,因为它的内部循环(inner loop)可以在大部分的架构上很有效率地 阅读全文
posted @ 2022-12-04 21:28 NcPhoton 阅读(271) 评论(0) 推荐(0)
摘要: 算法简介:排序 排序是一个非常经典的问题,它以特定顺序(递增、非递减(递增或扁平))对数组(或列表)的项目(可以比较,例如整数、浮点数、字符串等)进行重新排序)、递减、非递增(递减或平坦)、字典式等)。 有许多不同的排序算法,每一种都有自己的优点和局限性。 排序通常用作各种计算机科学课程中的介绍性问 阅读全文
posted @ 2022-12-04 21:28 NcPhoton 阅读(77) 评论(0) 推荐(0)
摘要: 排序的概念及其运用 排序:所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。 稳定性:假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序,这些记录的相对次序保持不变,即在原序列中,r[i]=r[j],且r[i]在r[j]之前,而在排序后的序列中 阅读全文
posted @ 2022-12-04 21:27 NcPhoton 阅读(22) 评论(0) 推荐(0)
摘要: Linux在学习编程的过程中非常重要,要学习Linux那就得先搭建Linux环境,本文将介绍如何在云服务器上搭建环境。 Linux环境的搭建方式 主要有三种: 直接安装在物理机上,但是由于Linux桌面使用起来非常不友好,不推荐这种方式; 使用虚拟机软件,将Linux搭建在虚拟机上。但是由于当前的虚 阅读全文
posted @ 2022-12-04 21:20 NcPhoton 阅读(120) 评论(0) 推荐(0)
摘要: Ubuntu Ubuntu 打开并修改 /etc/apt/sources.list 文件即可 通用源: deb mirror://mirrors.ubuntu.com/mirrors.txt focal main restricted universe multiverse deb-src mirr 阅读全文
posted @ 2022-12-04 21:12 NcPhoton 阅读(1236) 评论(0) 推荐(0)
摘要: 不建议贸然升级,时间是比较久的并且容易出现一系列问题。 升级GCC版本到11.1 GCC11终于发正式版了, 4月底官方终于发了11.1正式版. 对于我们来说, 项目实际使用基于C++17的协程已经有段时间, stackless在没有compiler额外生成代码Buff的加持下, Stack变量的人 阅读全文
posted @ 2022-12-04 21:11 NcPhoton 阅读(1341) 评论(0) 推荐(0)
摘要: 查看当前的 yum 源 yum repolist 对CentOS-Base.repo进行备份 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup 使用阿里云源替换本地源 wget -O /etc/ 阅读全文
posted @ 2022-12-04 21:11 NcPhoton 阅读(235) 评论(0) 推荐(0)
摘要: 查看Python版本 python -V 更新yum源 yum update 安装依赖 yum install yum-utils yum-builddep python3 下载python wget https://www.python.org/ftp/python/3.8.5/Python-3. 阅读全文
posted @ 2022-12-04 21:11 NcPhoton 阅读(531) 评论(0) 推荐(0)
摘要: 安装相应的编译工具 建议在root下操作,会方便很多,一定要安装,否则编译安装会报错。 yum -y groupinstall "Development tools" yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel 阅读全文
posted @ 2022-12-04 21:10 NcPhoton 阅读(215) 评论(0) 推荐(0)
摘要: 本文讲述如何升级 centos 系统的 git 版本。高版本 git 增加了一些好用的功能,比如"git pull 支持指定项目目录"等。本文以 centos6/7 为例讲解。 升级centos6/7的git版本 安装 git 仓库 # 如果是 CentOS 6 系统就安装这个吧 yum insta 阅读全文
posted @ 2022-12-04 21:10 NcPhoton 阅读(801) 评论(0) 推荐(0)
摘要: 简介 帮助对vim配置方法不熟悉的新手封装的一键式vim环境安装包. 主要针对终端vim用户, 适合远程ssh连接Linux服务器进行开发的场景(例如使用阿里云服务器或者腾讯云服务器等). 特点 安装速度快(使用码云而不是github作为源). 网络畅通情况下, 几分钟内完成 vim 插件安装. 无 阅读全文
posted @ 2022-12-04 21:10 NcPhoton 阅读(261) 评论(0) 推荐(0)
摘要: Shell及权限理解 本文将介绍Shell是什么以及Linux中的权限。 可以想一想在我们使用计算机的过程中,我们使用图形化界面或者命令行操作与计算机进行交互,是直接与内核进行交互吗?如果是那内核的接口开放出来想一想会有哪些问题呢? shell命令以及运行原理 Linux严格意义上说的是一个操作系统 阅读全文
posted @ 2022-12-04 21:09 NcPhoton 阅读(899) 评论(0) 推荐(0)
摘要: 计算机的诞生 传统的技术发展 技术进步是要花钱的,钱从哪里来?那么只有国家给,但是国家却无法从中获利,技术没有稳定的资金来源,因此技术进步是受阻并且缓慢的。 技术商业化 技术人员:搞技术。 搞技术需要资金,那么商业化的公司投资,获得其技术的授权和专利。 于是产生了intel,apple等公司用技术孵 阅读全文
posted @ 2022-12-04 21:08 NcPhoton 阅读(121) 评论(0) 推荐(0)
摘要: Linux背景介绍 本门课程学习Linux系统编程,你可能要问Linux从哪里来?它是怎么发展的?在这里简要介绍Linux的发展史。要说Linux,还得从UNIX说起。 Unix 最早是由 AT&T® 贝尔实验室在 1969 年开发,是一种专有但可许可的产品。 在接下来的 10 年里,Unix 开发 阅读全文
posted @ 2022-12-04 21:08 NcPhoton 阅读(132) 评论(0) 推荐(0)
摘要: 指令操作 既然指令操作使用成本高,那么为什么要学指令操作呢?现在已经有了那么精致便捷的图形化界面,为什么还要用麻烦的指令操作呢?相信这是很多朋友刚刚接触linux时都会发出的疑问。 这要从操作系统的历程说起,图形化界面不是操作系统一诞生就有的,所有的操作系统,一开始的时候都只支持指令操作,图形化界面 阅读全文
posted @ 2022-12-04 21:08 NcPhoton 阅读(122) 评论(0) 推荐(0)
摘要: 开源是什么? 开源方式是在开源社区内进行思考和协作的一种形式。 这一理念基于知识自由和核心原则:透明、协作、交付、包容和社区。 社区的思想交流和软件开发推动了以下行业的创新、科学和技术进步:教育、政府、法律、医疗保健和制造业。 这场运动为全球社区创造了一种通过源代码协作、共享和协助实现 个人及团体目 阅读全文
posted @ 2022-12-04 21:07 NcPhoton 阅读(272) 评论(0) 推荐(0)
摘要: 转载自:【杂谈】jsDelivr域名遭到DNS污染 – Luminous' Home jsDelivr域名遭到DNS污染 在jsDelivr被吊销ICP许可证四个月后的4月28日,cdn.jsdelivr.net开始遭到污染,这一个赫赫有名的静态资源库面向中国大陆的服务最终倒在了政策和监管双重压力之 阅读全文
posted @ 2022-12-04 21:06 NcPhoton 阅读(918) 评论(0) 推荐(0)
摘要: Windows 11 正式发布,符合Win 11硬件要求的Win10用户可以通过系统更新功能升级,也可以下载镜像全新安装。建议搭配新发布的Office 2021办公套件使用。 创建适用于 Windows 的安装介质 你可以使用安装介质(U 盘或 DVD)来安装 Windows 的新副本、执行全新安装 阅读全文
posted @ 2022-12-04 20:30 NcPhoton 阅读(490) 评论(0) 推荐(0)
摘要: 转载自:https://www.cnblogs.com/stu-jyj3621 在处理这个问题之前,你首先得知道为什么会出现这个这个问题。 你在使用VScode编辑代码时,代码页面中文正常,而终端输出那里中文却为乱码。 出现这个现象的原因是因为编码方式的不同。(VScode的默认编码方式为UTF-8 阅读全文
posted @ 2022-12-04 20:29 NcPhoton 阅读(3997) 评论(0) 推荐(1)
摘要: 转载自:【教程】VScode中配置C语言/C++运行环境_哔哩哔哩_bilibili 下载编辑器VScode 官网:https://code.visualstudio.com/ 安装VScode(建议附加任务全部勾选) 下载编译器MinGW并解压 官网页面:https://www.mingw-w64 阅读全文
posted @ 2022-12-04 20:29 NcPhoton 阅读(909) 评论(0) 推荐(0)
摘要: 管理员权限打开cmd,利用mklink来创建目录符号链接。 把C:\Users{username}.vscode\extensions(默认插件位置)的extensions文件夹整个剪切到你想换的位置。 在cmd中输入 mklink /D "C:\Users{username}.vscode\ext 阅读全文
posted @ 2022-12-04 20:28 NcPhoton 阅读(702) 评论(0) 推荐(0)
摘要: 创建仓库 如图创建一个新的仓库 指定仓库名 下载picgo 链接如下: Releases · Molunerfinn/PicGo 下载后一直下一步傻瓜式安装即可。 进入GitHub图床设置 仓库名格式如上:用户名 + 仓库名 分支名根据你的远程分支自行指定 生成TOKEN 进入GitHub网站的设置 阅读全文
posted @ 2022-12-04 20:28 NcPhoton 阅读(395) 评论(0) 推荐(0)
摘要: 生成gif动图的五款工具 LICEcap 一款比较专业的gif截屏工具,每帧的颜色数量可达到200多个,而且这款工具的体积只有几百KB,除了可以保存GIF格式还支持LCF格式的录制。 ScreenToGif 一款体积非常轻便,而且完全免费的GIF录屏工具,它可以将你录制的GIF图进行再次编辑,还能添 阅读全文
posted @ 2022-12-04 20:27 NcPhoton 阅读(184) 评论(0) 推荐(0)
摘要: 简介 简单的说 Node.js 就是运行在服务端的 JavaScript。 Node.js 是一个基于 Chrome JavaScript 运行时建立的一个平台。 是一个事件驱动 I/O 服务端 JavaScript 环境,基于 Google 的 V8 引擎,V8 引擎执行 Javascript 的 阅读全文
posted @ 2022-12-04 20:27 NcPhoton 阅读(121) 评论(0) 推荐(0)
摘要: 准备 操作系统要求 Windows 10(1803版或更高版本) Windows 7 Service Pack 1 Windows Server 2019 Windows Server 2016 处理器要求 最低要求:任何Intel或AMD x86-64处理器 推荐:具有四个逻辑核心和AVX2指令集 阅读全文
posted @ 2022-12-04 20:27 NcPhoton 阅读(3515) 评论(0) 推荐(0)
摘要: 准备 首先你得有个备案了的域名,之前腾讯云是可以支持默认CDN加速域名的,不过目前已经无法使用了,因此我们只能使用自定义域名了。 腾讯云:对象存储 开启默认 CDN 加速域名-控制台指南-文档中心-腾讯云-腾讯云 自2022年5月9日起,对象存储(Cloud Object Storage,COS)服 阅读全文
posted @ 2022-12-04 20:26 NcPhoton 阅读(236) 评论(0) 推荐(0)
摘要: 简介 Cloudflare常应用在网站建设中,不仅省心还省钱。HTTPS 证书实在是太贵了, 一个通配符域名证书一年要至少花上一两千. 那么如何满足广大人民群众建站需求呢? Cloudflare 就是一个很好的选择. Cloudflare 是一家 CDN 提供商, 可以为网站提供反向代理. 它的做法 阅读全文
posted @ 2022-12-04 20:26 NcPhoton 阅读(2166) 评论(0) 推荐(0)
摘要: 写在前面 jsDelivr凉了,因此一直在寻找新的个站图片存储方案,最终还是觉得腾讯云的对象存储服务比较合适,在此分享折腾的过程。 先来介绍两个概念: 对象存储 对象存储(Cloud Object Storage,COS)是腾讯云提供的一种存储海量文件的分布式存储服务,用户可通过网络随时存储和查看数 阅读全文
posted @ 2022-12-04 20:26 NcPhoton 阅读(334) 评论(0) 推荐(0)
摘要: 转载自 GarveyZhong https://blog.imzjw.cn/posts/aae542e3/ 前言 今天在 Dev 社区看到的这篇帖子,虽然自己天天用 Google,但是这些技巧却不是那么的熟悉,所以分享给大家。 原文:Use Google like a pro 译:小嘉的部落格 谷歌 阅读全文
posted @ 2022-12-04 20:25 NcPhoton 阅读(25) 评论(0) 推荐(0)
摘要: 先说一个快捷键 Window端通过按下CTRL + SHIFT + ALT + D/Q来查看当前分辨率。 有时候,您只需要耐心 首次开始流式传输某些内容时,流式传输可能需要一段时间才能达到其最佳质量设置。为了减少加载时间,较高质量的流将在后台开始缓冲,而较低质量的流将立即播放。 有时,您只需要等待N 阅读全文
posted @ 2022-12-04 20:25 NcPhoton 阅读(6635) 评论(0) 推荐(0)
摘要: WordPress 是一个 CMS 管理系统,也就是说,WordPress 的文章、页面、存档页都是通过程序从数据库里面获取数据生成的。虽然 WordPress 的页面可以有千千万万个,但是我们访问这些页面的入口只有一个,那就是根目录的「index.php」,我们访问一个页面时,其实访问的就是「in 阅读全文
posted @ 2022-12-04 20:15 NcPhoton 阅读(2200) 评论(0) 推荐(0)
摘要: 主题安装 稳定版【建议】 在你的 Hexo 根目录里 git clone -b master https://github.com/jerryc127/hexo-theme-butterfly.git themes/butterfly 测试版 测试版可能存在 bug,追求稳定的请安装稳定版 如果想要 阅读全文
posted @ 2022-12-04 20:14 NcPhoton 阅读(2400) 评论(0) 推荐(2)
摘要: Hexo的默认文章链接格式是年,月,日,标题这种格式来生成的。如果你的标题是中文的话,那你的URL链接就会包含中文。 复制后的URL路径就是把中文变成了一大堆字符串编码,如果你在其他地方用这边文章的url链接,偶然你又修改了改文章的标题,那这个URL链接就会失效。为了给每一篇文章来上一个属于自己的链 阅读全文
posted @ 2022-12-04 20:14 NcPhoton 阅读(209) 评论(0) 推荐(0)
摘要: 简介 WordPress是一个以PHP和MySQL为平台的自由开源的博客软件和内容管理系统。WordPress具有插件架构和模板系统。 截至2018年4月,排名前1000万的网站中超过30.6%使用WordPress 。WordPress 是最受欢迎的网站内容管理系统全球有大约40%的网站(7亿50 阅读全文
posted @ 2022-12-04 20:12 NcPhoton 阅读(169) 评论(0) 推荐(0)
摘要: 简介 Typecho是一个基于PHP的开源部落格程序。它使用多种数据库(MySQL、PostgreSQL、SQLite、MariaDB)储存数据,在GPLv2许可证下发行。 特性 扩展 Typecho的程序设计逻辑与WordPress相似,它通过插件与模板机制对程序进行扩展。它们可以在不更改部落格内 阅读全文
posted @ 2022-12-04 20:11 NcPhoton 阅读(388) 评论(1) 推荐(1)
摘要: 简介 Hexo 是一个快速、简洁且高效的博客框架。Hexo 使用 Markdown(或其他渲染引擎)解析文章,在几秒内,即可利用靓丽的主题生成静态网页。 安装hexo 安装hexo之前需要安装Nodejs组件,这个在我的另一篇文章: Hexo是我们博客的框架,我们需要在我们的电脑里创建一个文件夹,可 阅读全文
posted @ 2022-12-04 20:11 NcPhoton 阅读(223) 评论(0) 推荐(0)
摘要: 什么是STL STL(standard template libaray-标准模板库):是C++标准库的重要组成部分,不仅是一个可复用的组件库,而且是一个包罗数据结构与算法的软件框架。 STL的版本 原始版本 Alexander Stepanov、Meng Lee 在惠普实验室完成的原始版本,本着开 阅读全文
posted @ 2022-12-04 19:49 NcPhoton 阅读(65) 评论(0) 推荐(0)
摘要: 泛型编程 如何实现一个通用的交换函数呢? void Swap(int& left, int& right) { int temp = left; left = right; right = temp; } void Swap(double& left, double& right) { double 阅读全文
posted @ 2022-12-04 19:49 NcPhoton 阅读(30) 评论(0) 推荐(0)
摘要: 在C语言的学习中我们已经接触过内存管理,那么C++与C语言之间又有什么不同和相同的地方呢? C++内存分布 int globalVar = 1; static int staticGlobalVar = 1; void Test() { static int staticVar = 1; int l 阅读全文
posted @ 2022-12-04 19:49 NcPhoton 阅读(81) 评论(0) 推荐(0)
摘要: 运算符重载 本文包括了对C++类的6个默认成员函数中的赋值运算符重载和取地址和const对象取地址操作符的重载。 运算符是程序中最最常见的操作,例如对于内置类型的赋值我们直接使用=赋值即可,因为这些编译器已经帮我们做好了,但是对象的赋值呢?能直接赋值吗? 概念 C++为了增强代码的可读性引入了运算符 阅读全文
posted @ 2022-12-04 19:48 NcPhoton 阅读(71) 评论(0) 推荐(0)
摘要: 再谈构造函数 之前讲过构造函数的一些特性,再在这里补充下。 构造函数体赋值 class Date { public: Date(int year, int month, int day) { _year = year; _month = month; _day = day; } private: i 阅读全文
posted @ 2022-12-04 19:48 NcPhoton 阅读(36) 评论(0) 推荐(0)
摘要: 日期类的实现 在前面学过默认成员函数后,我们就可以写一个简单的日期类了。 如何写呢?我们可以先分析分析。 日期类的成员变量都是int类型,那么构造函数是要显式定义的,成员变量都是int类型,因此浅拷贝即可。 因此拷贝构造、析构、赋值操作符重载都不需要我们显式定义,使用编译器生成的就好。 #inclu 阅读全文
posted @ 2022-12-04 19:48 NcPhoton 阅读(80) 评论(0) 推荐(0)
摘要: 析构函数 既然在创建对象时有构造函数(给成员初始化),那么在销毁对象时应该还有一个清除成员变量数据的操作咯。 概念 析构函数:与构造函数功能相反,析构函数不是完成对象的销毁,局部对象销毁工作是由编译器完成的。而对象在销毁时会自动调用析构函数,完成类的一些资源清理工作。 特性 析构函数是特殊的成员函数 阅读全文
posted @ 2022-12-04 19:48 NcPhoton 阅读(87) 评论(0) 推荐(0)
摘要: 面向过程和面向对象初步认识 C语言是面向过程的,关注的是过程,分析出求解问题的步骤,通过函数调用逐步解决问题。 C++是基于面向对象的,关注的是对象,将一件事拆分成不同的对象,靠对象之间的交互完成。 以外卖点餐系统为例: 外卖点餐有具体步骤有顾客点餐,商家做餐,外卖员送餐,C语言关注的是点餐的各个步 阅读全文
posted @ 2022-12-04 19:47 NcPhoton 阅读(46) 评论(0) 推荐(0)
摘要: 拷贝构造函数 我们经常会用一个变量去初始化一个同类型的变量,那么对于自定义的类型也应该有类似的操作,那么创建对象时如何使用一个已经存在的对象去创建另一个与之相同的对象呢? 构造函数:只有单个形参,该形参是对本类类型对象的引用(一般常用const修饰),在用已存在的类类型对象创建新对象时由编译器自动调 阅读全文
posted @ 2022-12-04 19:47 NcPhoton 阅读(59) 评论(0) 推荐(0)
摘要: 类的6个默认成员函数 如果我们写了一个类,这个类我们只写了成员变量没有定义成员函数,那么这个类中就没有函数了吗?并不是的,在我们定义类时即使我们没有写任何成员函数,编译器会自动生成下面6个默认成员函数。 class S { public: int _a; }; 这里就来详细介绍一下构造函数。 构造函 阅读全文
posted @ 2022-12-04 19:47 NcPhoton 阅读(75) 评论(0) 推荐(0)
摘要: 前言 指针和引用在形式上很好区别,在C++中相比于指针我们更喜欢使用引用,但是它们的使用场景又极其类似,它们都能直接引用对象,对对象进行处理,那么究竟为什么会引入引用?什么时候使用指针?什么时候使用引用?这两者实在容易混淆,在此我详细介绍一下指针和引用。 指针和引用的定义 维基百科中这样解释 指针: 阅读全文
posted @ 2022-12-04 19:46 NcPhoton 阅读(2133) 评论(0) 推荐(1)
摘要: 简介 C++ 语言的创建初衷是 "a better C",但是这并不意味着 C++ 中类似 C 语言的全局变量和函数所采用的编译和连接方式与 C 语言完全相同。作为一种欲与 C 兼容的语言, C++ 保留了一部分过程式语言的特点(被世人称为"不彻底地面向对象"),因而它可以定义不属于任何类的全局变量 阅读全文
posted @ 2022-12-04 19:46 NcPhoton 阅读(539) 评论(0) 推荐(0)
摘要: 内联函数 C++中函数的使用我们已经比较清楚了,与C语言中函数的使用大多相同,主要是增加了重载的特性,对C语言的函数的一些缺陷做了一些补充。 那么对于一些比较简单却又经常使用的功能,我们在C语言中常常使用宏来替换,宏呢与函数相比没有栈帧的开辟,类型的检查,没有传参,仅仅是做一个替换,非常适合功能简单 阅读全文
posted @ 2022-12-04 19:46 NcPhoton 阅读(74) 评论(0) 推荐(0)
摘要: C++关键字 C++关键字全集(参考 C++ Primer ): | asm | auto | bad _cast | bad _typeid | | | | | | | bool | break | case | catch | | char | class | const | const _ca 阅读全文
posted @ 2022-12-04 19:45 NcPhoton 阅读(84) 评论(0) 推荐(0)
摘要: 为什么使用文件 内存是带电存储的,也就是说一旦断电,数据都会销毁,但是硬盘是可以不带电存储的,无论是否通电,只要未损坏,我们的数据就可以一致得以保存。 我们前面学习结构体时,写了通讯录的程序,当通讯录运行起来的时候,可以给通讯录中增加、删除数据,此时数据是存放在内存中,当程序退出的时候,通讯录中的数 阅读全文
posted @ 2022-12-04 19:21 NcPhoton 阅读(132) 评论(0) 推荐(0)
摘要: 难点解析 探索八区 探索排雷位的周围八个区域。 总归情况就分三类,可探索的区域为8个,5个,3个。但这样分类实在麻烦,所以我们可以选择在创建雷盘的时候,将二维数组的维度扩大一些,使其不用考虑多种情况,而只用考虑探索周围八个雷区。 我们可以给外侧再加一层,即给二维数组行列分别加二,并且把外层全部设置为 阅读全文
posted @ 2022-12-04 19:21 NcPhoton 阅读(72) 评论(0) 推荐(0)
摘要: 简单功能展示 增加联系人功能。 按照姓名排序功能。 保存文件,重新启动重新加载功能。 头文件contact.h //文件保存版 #include<stdio.h> #include<string.h> #include<stdlib.h> #include<assert.h> #include<er 阅读全文
posted @ 2022-12-04 16:45 NcPhoton 阅读(22) 评论(0) 推荐(0)
摘要: 程序的翻译环境和执行环境 在ANSIC的任何一种实现中,存在两个不同的环境。 第1种是翻译环境,在这个环境中源代码被转换为可执行的机器指令。 第2种是执行环境,它用于实际执行代码。 详解编译+链接 翻译环境 组成一个程序的每个源文件通过编译过程分别转换成目标代码(object code)。 每个目标 阅读全文
posted @ 2022-12-04 16:45 NcPhoton 阅读(200) 评论(0) 推荐(0)
摘要: 为什么存在动态内存分配 栈区上的内存开辟 int val = 20;//在栈空间上开辟四个字节 char arr[10] = {0};//在栈空间上开辟10个字节的连续空间 这样直接在函数体中开辟内存的方式有它的特点 开辟内存的大小是固定的。 数组在申请空间是,需要指定数组大小。 出了函数作用域变量 阅读全文
posted @ 2022-12-04 16:44 NcPhoton 阅读(65) 评论(0) 推荐(0)
摘要: 结构体的声明 常规的结构的声明太过简单常见,不再过多阐述。 特殊声明 在声明结构体的时候可以不完全的声明 struct { int i; double d; char c; }x; struct { int i; double d; char c; }arr[10], * px, x1; 注意到上面 阅读全文
posted @ 2022-12-04 16:44 NcPhoton 阅读(54) 评论(0) 推荐(0)
摘要: 简介 指针的概念 指针是个变量,用来存储地址。 指针的大小只与是64位平台还是32位平台有关,与指针类型无关。 指针类型决定了指针的解引用权限和读取方式。 指针+-正数与指针所指向类型数据的长度有关。 字符指针 在指针的类型中我们知道有一种指针类型为字符指针 char* ; 一般使用: int ma 阅读全文
posted @ 2022-12-04 16:44 NcPhoton 阅读(85) 评论(0) 推荐(0)
摘要: 数据基本类型 为什么会有不同的类型,这些类型有内存大小上的差异,那么他们还有什么差异呢? 在内存中开辟空间的大小 读取内存空间方式的差异 char //字符类型 short //短整型 int //整型 long //长整型 long long //更长整型 float // 单精度浮点型 doub 阅读全文
posted @ 2022-12-04 16:44 NcPhoton 阅读(202) 评论(0) 推荐(0)
摘要: 结构体的声明 什么是结构 结构是一些值的集合,这些值称为成员变量。结构的每个成员可以是不同类型的变量。 结构体的声明 struct tag { member-list; }variable-list; 结构体的作用 我们想用一个变量描述一个人,那如何实现呢? C语言提供给我们的基础类型中,都是只能描 阅读全文
posted @ 2022-12-04 16:43 NcPhoton 阅读(151) 评论(0) 推荐(0)
摘要: C语言实现一个大家小时候都玩过的小游戏的进阶版本,不止是三子棋,可以根据玩家需要设定棋盘大小。的可读性,我将源码分为了三个部分,分别是源文件test.c、game.c、game.h。 test.c部分是游戏进入、开始、结束的骨干代码。 game.c是游戏的具体如何实现的代码。 game.h是所有自定 阅读全文
posted @ 2022-12-04 16:43 NcPhoton 阅读(67) 评论(0) 推荐(0)
摘要: 指针是什么 指针是什么? 指针理解的2个要点: 指针是内存中一个最小单元的编号,也就是地址; 平时口语中说的指针,通常指的是指针变量,是用来存放内存地址的变量; 指针就是地址,指向某一块内存空间。 我们有一个变量在栈中被创建,如果我们想找到它有几种方式呢? 通过变量名去访问 通过地址访问 这一个个编 阅读全文
posted @ 2022-12-04 16:42 NcPhoton 阅读(270) 评论(0) 推荐(0)
摘要: 一维数组的创建和初始化 数组的创建 数组是一组相同类型元素的集合。 数组的创建方式: type_t arr_name[const_n]; //type_t 是指数组的元素类型 //const_n 是一个常量表达式,用来指定数组的大小 数组创建的实例: //代码1 int arr1[10]; //代码 阅读全文
posted @ 2022-12-04 16:41 NcPhoton 阅读(386) 评论(0) 推荐(0)
摘要: 操作符分类 算术操作符 移位操作符 位操作符 赋值操作符 单目操作符 关系操作符 逻辑操作符 条件操作符 逗号表达式 下标引用、函数调用和结构成员 算术操作符 + - * / % % 为取余也叫模,它的操作数只能是整数,而其他的操作符的操作数既可以为整数也可以为浮点数。 操作数有浮点数时,则进行算术 阅读全文
posted @ 2022-12-04 16:41 NcPhoton 阅读(205) 评论(0) 推荐(0)
摘要: 函数是什么 C语言的基本结构单位是函数[维基百科]。系统首先调用 main函数(主函数),通过函数的嵌套调用,再调用其他函数。函数可以是系统自带的函数,也可以是用户定义的函数。C语言中,不允许函数嵌套定义。 数学中我们常见到函数的概念。但是你了解C语言中的函数吗? 维基百科中对函数的定义:子程序 在 阅读全文
posted @ 2022-12-04 16:40 NcPhoton 阅读(217) 评论(0) 推荐(0)
摘要: 💦什么是语句 C语句可分为以下五类: 表达式语句 函数调用语句 控制语句 复合语句 空语句 这里介绍的是控制语句。 控制语句用于控制程序的执行流程,以实现特定的功能和结构,它们具有特定的语句定义符组成,C语言有九种控制语句。 分为三类: 分支语句:if、switch语句; 循环语句:while、f 阅读全文
posted @ 2022-12-04 16:40 NcPhoton 阅读(188) 评论(0) 推荐(0)
摘要: 💦字符串 字符串是什么 例:”hello world!“ 这种被双引号” “引起来的一串字符叫做字符串字面值,简称字符串。 注意:在我的上一篇文章已经讲过,字符串的结束标志是一个‘\0'的转义字符,在字符串的末尾被省略了。 字符串的存储方式 我们都知道,一个字符是储存在变量中的。 那字符串储存在哪 阅读全文
posted @ 2022-12-04 16:39 NcPhoton 阅读(240) 评论(0) 推荐(0)
摘要: 💦选择与循环 无论在生活中还是工作中,我们不可避免的要做出选择甚至日复一日地重复某件事情。 “人是铁饭是钢,一顿不吃饿得慌”,确实,我们每天都要重复做的一件事,那就是吃饭。 今天吃什么呢?干锅还是汤锅?这时,我们总是要做出一个选择。 思考:我们在生活中解决问题时,似乎总是离不开选择和循环,那么计算 阅读全文
posted @ 2022-12-04 16:39 NcPhoton 阅读(35) 评论(0) 推荐(0)
摘要: 💦常见关键字 | 关键字 | 作用 | | | : | | auto | 由auto修饰的自动变量 | | break | 跳出循环和switch分支语句 | | case | 分支语句 | | const | 由const修饰的常变量 | | continue | 跳过本次循环体开始下一次循环 阅读全文
posted @ 2022-12-04 16:39 NcPhoton 阅读(54) 评论(0) 推荐(0)
摘要: 计算机眼中的数字 二进制数的换算 通常再生活中我们所使用的是十进制数,数字都是0~9这十个数字,除开数学领域外,普通人几乎不会涉及到其他进制的应用,正因为十进制在生活中的使用的快捷性和实用性,人类对其的应用非常广泛。 而对于计算机来说,它认识哪些东西呢? 相信大家都知道,计算机中的一切数据其实都是由 阅读全文
posted @ 2022-12-04 16:38 NcPhoton 阅读(144) 评论(0) 推荐(0)
摘要: 我的性格 一直以来是个随性的人,“不一定要争取做最好的那一个,但一定不做最差的一个”,是我对前19年生活和态度的总结,正因为有着这样极大不确定性的性格,似乎总是在做一个“中间摇摆人”,“间歇性努力学历,持续性混吃等死”,成了我的标签,但浑浑噩噩经过大一这一年,复杂的情绪与焦虑涌上心头,使得我不由得质 阅读全文
posted @ 2022-12-04 16:37 NcPhoton 阅读(144) 评论(0) 推荐(0)