
Linux c / c++
一只野指针呀
追逐大神的普通人。
展开
-
数据结构:栈(C语言)
目录一、栈的定义二、顺序栈三、链栈一、栈的定义栈又称后进先出线性表,简称LFIO,顾名思义,是只能在表尾进行插入和删除的线性表。我们假设有一个圆柱形的瓶子,往里面放石头,最先放进瓶子的石头会被压在最底下,必须要等上面的石头取走之后,才能取出下面的石头。栈就可以理解为这样一个模型,栈顶就是瓶子口,栈底就是瓶子底。下面我们看下栈的相关概念:栈顶: 允许进行插入和删除的一端栈底: 不允许进行插入和删除的一端空栈: 不含任何数据元素的栈进栈: 又称压栈,在栈中添加一个元素出栈: 又称弹栈,从栈中删原创 2020-10-10 23:03:10 · 351 阅读 · 0 评论 -
数据结构:单链表(C语言)
一、链式存储结构——链表的几个概念链表与线性表的区别在于,链表分为数据域和指针域两个部分,每个存储单元可以是连续的,也可以是不连续的,1.头指针:链表中第一个结点的存储位置叫做头指针2.头结点:在单链衰的第一个结点前附设一个个结点,称为头结点。特点:(1)用一组任意的存储单元存储线性表的数据元素(2)这组存储单元可以是连续的,也可以是不连续的(3)每个数据元素除了存储数据外,还要存储前驱、后继元素的地址线性链表的最后一个结点指针为空,通常用 NULL或 ^ 符号表示...原创 2020-09-26 01:05:45 · 1340 阅读 · 0 评论 -
random_shuffle函数生成随机数
C++中除了使用rand和srand函数产生随机数,STL中提供了一个更便捷的方法,即random_shuffle函数。这篇博客主要总结一下random_shuffle()的用法,rand和srand函数可以参考我的另一篇博客:C++随机数:rand和srand函数总结https://blog.youkuaiyun.com/m0_49070560/article/details/108557117.接下来我们说random_shuffle()。random_shuffle() 函数原型如下:template原创 2020-09-17 13:30:04 · 4253 阅读 · 0 评论 -
C++函数模板
一、模板的概念和函数模板函数模板泛型编程是一种思想,STL就是利用模板实现的一个具体实例。所谓函数模板,实际上是建立一个通用函数,它所用到的数据的类型(包括返回值类型、形参类型、局部变量类型)可以不具体指定,而是用一个虚拟的类型来代替(实际上是用一个标识符来占位),等发生函数调用时再根据传入的实参来逆推出真正的类型。这个通用函数就称为函数模板...原创 2020-09-13 02:51:33 · 408 阅读 · 0 评论 -
C++随机数:rand和srand函数总结
一、rand和srand函数在C语言的库函数中,系统提供了两个用于产生随机数的函数:srand()和rand() 。rand()函数原型如下:int rand(void);void表示它不接受任何参数,返回值是在[0,RAND_MAX]之间的随机整数。srand()函数原型:void srand(unsigned seed);参数的变量类型为unsigned,表示seed只能保存非负整数,这样就避免了不会将复数传递给srand 。seed是一个用于保存种子的变量,,用来初始化srand(原创 2020-09-13 00:58:54 · 1566 阅读 · 0 评论 -
C++中的拷贝构造函数
目录一、拷贝构造函数及其形式1.什么是拷贝构造2.形式3.参数列表使用常引用与普通引用的区别二、拷贝构造函数的调用情况1.使用一个对象给另外一个对象进行初始化2.函数形参是类的对象3.函数形参是类的对象,并且返回值是这个对象4.注意三、浅拷贝和深拷贝1.浅拷贝2.深拷贝一、拷贝构造函数及其形式1.什么是拷贝构造拷贝构造函数也叫复制构造函数,它是一种特殊的构造函数,在创建对象时,使用同一类中之前创建的对象来初始化新创建的对象。拷贝构造函数的名称必须和类名称一致,参数列表中必须有一个参数是本类的引用或常原创 2020-08-30 03:02:12 · 943 阅读 · 0 评论 -
git安装及使用
目录一、简单了解git1.git是什么?2.github和gitee二、Linux下安装gitee三、gitee常用命令四、安装问题及总结一、简单了解git1.git是什么?学习git,我们首先要了解git是什么。来看看教科书式的定义:git是一个开源的分布式版本控制系统。读完上面这句话,你的内心是不是这样的:What ?什么叫分布式?什么叫版本控制系统?git到底用来做什么???想必写过论文的小伙伴都有这样的经历,论文写完了,那要一改二改三改四改,千辛万苦改到了第n稿,导师想了想跟你说:“哎原创 2020-08-23 00:15:50 · 391 阅读 · 0 评论 -
C语言文件操作
目录一、文件的基本操作1.打开文件2.关闭文件3.读写操作3.1 fwirte( ) 和 fread( )二、读写操作三、其他操作一、文件的基本操作1.打开文件1.1 函数原型:FILE *fopen(const char *filename,const char *mode);参数1:文件路径参数2:文件的打开方式返回值:FILE*,即文件指针,也就是物理内存上的这块空间的首地址。1.2 文件的打开方式r :只读,不可修改,文件必须存在,不存在fopen会执行失败w :可读原创 2020-08-02 19:19:01 · 177 阅读 · 0 评论 -
C 结构体的数组、指针和嵌套
一、简单了解结构体结构体是程序设计者自己定义的、由不同类型数据组成的数据结构。关键字struct和结构体名组合成一种类型标识符,其地位等同于int、char等类型标识符,可以像 int 类型标识符标识整型变量一样用来定义结构体变量1.定义方式:struct 结构体名{类型1 变量或数组;类型2 变量或数组;…};例如:定义一个名为class的结构体2.定义结构体变量(1)定义结构体时定义变量c1,c2,c3是结构体变量,可以定义一个变量,也可以定义多个变量。结构体变量可以原创 2020-07-23 23:53:50 · 507 阅读 · 0 评论 -
浅谈C语言数组和指针
1.arr和&arr代码如下:我们都知道,指针的初始化是通过 & 操作符来完成的,如果这样写:int a = 1;int *p = a;那编译的过程中会报一个警告,进行输出的话,会发现指针找不到 a 的值。那为什么数组可以不使用 & 操作符呢?首先,arr是数组名,而数组名就是指向数组第一个元素的指针,即数组名代表了这个数组的首地址。*p = arr就是直接将 arr 赋值给 p。同时,数组的地址是数组内第一个元素的地址。*p1 = &arr 是获取原创 2020-07-17 23:05:24 · 454 阅读 · 0 评论 -
C语言的常量和变量
基本数据类型量,按照取值能否改变分为常量和变量。一、常量常量是程序执行过程中,其值不发生改变的量。例如:整型常量、浮点型常量、字符常量、字符串常量、枚举常量、符号常量。在程序中,常量可以不经说明直接引用。1.常量定义方式(1)使用 const定义:const 数据类型 常量名const定义的是值不允许改变的常变量。(2)宏定义:#define 常量名 常量值符号常量在使用前必须先定义,定义方式为宏定义。其中,#define是一条预处理命令,称为宏定义命令。一经定义,以后在程序中需要用到该常原创 2020-07-10 23:24:15 · 870 阅读 · 0 评论 -
在Windows下安装VMware和ubuntu
一、安装VMware1.在VMware官网下载安装包,或者可以在网上搜索VWware安装包进行下载我用的是win10 x64系统,这里要注意一下,VMware 10以上的版本都不支持在32位操作系统上运行,还有一点是如果处理器版本比较低,VMware装了虚拟机用起来可能会卡,也可能不支持安装,出现这种情况可以换成Virtualbox,Virtualbox的安装方式这里暂时不做说明。2.双击打开应用程序,点击下一步3.接受许可,下一步4.这一步可以修改安装位置,默认的就是C盘。下面增强型键盘驱原创 2020-07-02 21:28:50 · 776 阅读 · 0 评论