自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 收藏
  • 关注

原创 C++ 中封装的含义和简单实现

其实封装并不是编程中的一个思想,对于很多领域来说都是这样。对于电子器件来说,我们不关心其内部的结构,只在乎该器件能够实现什么样的功能。这样对于顾客来说,不用花时间研究内部的实现过程,而对于商家来说,也可以更好的保护它们的商业秘密。而对于 C++ 来说也是这样,借由数据类型也可以实现封装。这样做的好处就是对外屏蔽了功能实现,对内开放了数据权限。C++ 中的类和对象是经由 C 中的 struc...

2020-04-29 14:20:18 4185

原创 C++ 中的 namespace 使用和注意事项

在上篇文章中提到了 C++ 中的 namespace,出现了一些奇怪的现象,这里我们以三段程序引出我们要讨论的问题。代码段1:为了避免命名空间中的变量和当前作用域中的变量同名发生冲突,我们一般会这样使用命名空间:#include <iostream>#include <string>using namespace std;namespace fir...

2020-04-27 23:12:40 1714 2

原创 从 C 到 C++ 的一些不同

之前大致对 C 语言的内容进行了学习,这里试着了解一下 C++。如果我们用过 C++ 编过程序,会发现如果将只属于 C++ 的部分刨掉之后,剩下的东西好像都差不多。也就是说,C++ 是能够兼容 C 语言的,但是 C++ 相较于 C 语言也有些不同。类型增强类型检查// C_language#include <stdio.h>int main(){ co...

2020-04-27 13:38:09 257

原创 VScode 基本使用和操作技巧

BasicsWelcome and interactive playground在菜单栏中的 Help 中存在 Welcome 和 interactive playground。其中 Welcome 是 VScode 的欢迎界面,interactive playground 包含了一些交互的方式。Command Palette在命令面板中可以访问基于当前上下文中的所有可用命令,...

2020-04-23 15:04:49 6753

原创 VScode 使用初步

什么是 VScodeVisual Studio Code(VScode) 是一个轻量级但功能强大的源代码编辑器,可在桌面上运行,并且可用于Windows,macOS和Linux。VS code 包括一整套系统:比如内部支持 JavaScript,TypeScript 和 Node.js,能够进行多种语言扩展(如 C++,C#,Java,Python,PHP,Go),也能够进行多种运行扩展(如....

2020-04-23 13:36:52 1159

原创 Linux 下的动态库和静态库

函数库为什么要使用函数库比如我们平常使用比较多的标准库,里边就包含了很多有用的函数,因此使用函数库能够使我们的开发更为省力。同样多种多样的第三方库也会给编程语言带来极大的扩展性。函数库划分主要分为动态库和静态库。静态库特点静态库会在编译阶段时被完全整合进代码段中,因此生成的可执行文件会比较大 但这种编译后的执行程序不再需要函数库的支持 但同时静态库如果发生了改变,程序必...

2020-04-16 23:30:13 594

原创 双向循环列表(C 语言实现)

// node.h#ifndef NODE_H#define NODE_Htypedef struct Node{ int data; struct Node *pre; struct Node *next;}ND;// insert a node from tailND *createListTail();// insert a node from...

2020-04-16 21:06:29 546

原创 数组查找(C 语言实现)

本文主要包含常见的数组查找方法。线性查找线性查找是最为简单粗暴的查找方法了,直接从数组首元素开始查找,直到找到要查找的元素为止。#include <stdio.h>#include <stdlib.h>int LineSearch(int *p,int length,int search){ for(int i=0;i<length;i+...

2020-04-16 15:52:41 4185

原创 数组排序(C 语言实现)

本文主要包含常见的数组排序方法。选择排序原理在原始数组中取未排序的首元素,与其后方所有元素比较,不满足顺序,则交换 首元素此时满足条件,未排序部分后移 重复上述操作代码实现#include <stdio.h>#include <stdlib.h>void SelectSort(int *p,int n){ for(int i=0;i&...

2020-04-16 15:13:22 4884

原创 C 语言中的函数(补充)

本文是对之前文章的一个补充。在之前的文章中,我们主要说明了函数的调用和传参情况,这次主要是说明函数和指针的关系。函数返回值我们都知道函数只存在返回值,但是有时我们需要两个返回值,比如在 MATLAB 可以同时获得多个返回值,而在 C 语言中则可以借用指针来返回多个参数。比如返回堆上的连续空间,或者函数的实参本身就是指针等。函数指针函数本质我们都知道程序或者代码都需要加载到内...

2020-04-16 13:16:55 423

原创 C 语言中的指针(补充)

本文是对之前文章的一个补充。首先我们知道:& 运算符后加变量名就变成了变量名的地址,& 可以称为取地址运算符 变量地址前加 * 运算符就能够访问到变量,* 可以成为取内容运算符 地址一般是用存储空间的第一个字节的地址表示变量地址,即低字节地址 地址也是有大小的指针和指针变量指针最纯粹的指针可能就是 (void *),也就是用 malloc 函数在堆上申请内存...

2020-04-15 23:49:57 252

原创 C 语言中的数组(补充)

本文是对之前文章的一个补充。首先我们知道,数组一般会存在三个要素:起始位置 单个元素的字节长 范围在之前文章中提到的内容这里就不再说明,直接说明补充内容。一维数组访问方式数组名作整体访问用数组名作整体访问一般出现在两种情况:求数组大小 取地址也就是说在上边两种情况中,数组名才能代表整体。#include <stdio.h>int main...

2020-04-15 19:00:35 267

原创 C 语言中的进程空间(补充)

本文是对这篇文章的一个补充。首先我们知道:程序是静态的 源码经过预处理、编译、汇编、链接变成可执行文件,该可执行文件可以认为就是程序 可执行文件能够多次执行,但并不意味着每次使用的资源是一样的 进程是动态的 当程序加载到内存中开始运行,直到运行结束,这样从开始到结束的过程就是进程 程序位于存储设备上,此时不叫做进程,当加载到内存上开始执行才转变为进程进程空间上图给出了...

2020-04-15 14:37:56 311 1

原创 C 语言中的数据类型(扩充)

该篇文章是对之前文章的一个补充。首先,在计算机中内存是线性的 内存是以字节为单位进行编址的,内存中的每个字节都对应一个地址 程序的执行过程中,数据都要保存到内存当中而数据是有类型的,计算机会根据数据类型分配连续的一段内存作为数据的存储空间,也就是说利用数据类型,就沟通了内存大小和数据之间的关系。数据类型与内存的关系数据类型表示数据申请的内存单元大小和访问的规则,表示了数据在内...

2020-04-14 23:40:53 761

原创 Linux 中 shell 脚本的语法

既然要说一门编程语言,自然就避不开语法,只有当源文件的内容符合语法规范的时候,才能保证程序有正常执行的可能。测试判断test利用 test 命令可以检测文件或是相关的属性,主要的参数为:参数 含义 文件类型判断:test -e filename -e 判断 filename 是否存在 -f 判断 filename 是否存在且为 file -d ...

2020-04-07 14:40:13 307

原创 Linux 中的 shell 脚本

在 Linux 中,有时候需要对多条命令进行组合才能完成一项任务,或者多个对象要使用同样一组命令,我们都希望采用一种便捷化的方式来执行,而不必在 shell 中一行一行地输入命令,此时就需要到 shell 脚本。什么是 shell 脚本与编程语言的源文件一样,shell 脚本只是将符合 shell 的语法和命令进行搭配,以达到处理某一项任务的目的。此时可以将 shell 脚本看作是一种...

2020-04-07 10:52:32 202

原创 Linux 中的管道命令

在 Linux 中,如果我们想要查看某个目录下是否存在一个特定的文件,我们很有可能会用到 ll 或 ls 命令,如果该目录下的文件数量较少还好,如果很多的话,一个一个找就会花费很多时间。此时我们通常会选择使用管道命令。什么是管道我们可以将管道命令类比为水管,水流从自来水厂到居民楼家中中间经过了层层分流,分流的过程就是管道的作用,因为用户使用的水流只需要满足正常使用就可以了,不需要像消防水管...

2020-04-06 19:40:35 1823

原创 Linux 中的数据流重定向

什么是数据流重定向在 bash 中,执行命令的数据输入输出情况为:通常情况下,输出结果都会输出到屏幕上,但是如果想要保存输出结果就需要使用数据流重定向。数据流重定向可以帮助对输出的结果进行重新定位,使之到达特定的位置。上图中箭头上方还有 standard input,standard output,standard error output 等标识,这三者分别代表不同的含义。sta...

2020-04-04 23:54:58 498

原创 Linux 下 Bash shell 的操作环境

路径与命令查找顺序之前我们提到过,使用 type 命令可以看到一个命令是外部命令,命令别名还是 bash 内置命令。就比如 ls 命令,利用 type 命令查看:wood@ubuntu:~$ type -a lsls is aliased to `ls --color=auto'ls is /bin/ls从上面可以看到该命令具有两种形式,分别是命令别名和外部命令,同时两者还是先后...

2020-04-04 12:34:45 905

原创 Linux 中的命令别名和历史命令

命令别名在 Linux 中,可能有相当长的时间我们都要跟 bash 打交道,也就是说我们需要在 bash 上键入大量的命令。但是命令加上选项参数可能会变得很长,此时可能就需要将相同的部分合并为一个命令,再加上后方特异性的部分,从而形成一个完整的命令。而合并的命令就被称作命令别名。命令别名的命令也很简单:alias new_cmd='old_cmd'也就是说通过上边的命令就能够将又...

2020-04-04 00:21:54 265

原创 Linux 下 shell 中的变量

之前我们说 shell 是沟通内核和用户的桥梁,能够实现很多功能。每个用户(包括系统用户)登陆时都会获得一个 shell。在 shell 中为了方便使用也会定义很多变量,这些变量就是常说的环境变量。什么是变量和编程语言中的变量定义类似,变量可以用来表示或者替换一些数据和设置。变量的使用和设置查看变量 echo使用已经定义好的变量需要在变量名前加上 $,比如使用 echo 命令可...

2020-04-03 22:38:18 517

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除