自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 强大的vim配置文件,让编程更随意

转载自http://www.cnblogs.com/ma6174/archive/2011/12/10/2283393.html花了很长时间整理的,感觉用起来很方便,共享一下。我的vim配置主要有以下优点:1.按F5可以直接编译并执行C、C++、java代码以及执行shell脚本,按“F8”可进行C、C++代码的调试2.自动插入文件头 ,新建C、C++源文件时自动插入表头:包括文件名、作者、联系方式

2017-10-03 12:02:08 228

转载 VMware + Linux + Xshell 连接环境设置(心得体会)

准备好VMware软件,和Linux 和xshell三款软件,下载和安装好,这里VMware是十二,Linux是Redhat5 ,xshell是5其实没有什么区别只要版本兼容就行,我们就可以实现远程访问虚拟服务器的连接方式 VMware 安装好linux后,设置这个界面 它在虚拟机菜单下网络连接四中模式桥接模式、NAT模式、仅主机和自定义模式: 1、桥接模式:更公司的局域网连接,等于

2017-10-03 11:50:03 624

原创 函数的嵌套调用和递归调用

背景:最近一直在学习C++,从中学习到了很多以前没有听过的内容,现在来总结一下。 嵌套调用: 所谓嵌套调用就是在一个函数中调用其他函数的过程叫做函数的嵌套。C++中函数的定义是平行的,除了main()以外,都可以互相调用。函数不可以嵌套定义,但可以嵌套调用。比如函数1调用了函数2,函数2调用了函数3,这便形成了函数的嵌套调用。例子:求三个数中最大数和最小数的差值。分析:这里设计了3...

2018-10-09 09:07:05 7196

原创 网络聊天室项目说明书

网络聊天室项目说明项目的目的和意义该聊天室项目为利用linux下C语言网络编程相关知识,采用Server/Client,即服务器与客户端的基本框架实现。整个项目涉及了socket套接字,线程,嵌入式数据库sqlite3,select模型等多个知识模块,服务器整体采用select模型,并不断监听客户端,客户端中起一个线程,用来实时接受服务器发送的信息。该聊天室项目可模拟当今的聊天工具中的各个功...

2018-10-09 09:05:28 1815

原创 32位和64位系统区别及int字节数

一)64位系统和32位有什么区别?1、64bit CPU拥有更大的寻址能力,最大支持到16GB内存,而32bit只支持4G内存2、64位CPU一次可提取64位数据,比32位提高了一倍,理论上性能会提升1倍。但这是建立在64bit操作系统,64bit软件的基础上的。什么是64位处理器?之所以叫做“64位处理器”,是因为电脑内部都是实行2进制运算,处理器(CPU)一次处理数据的能力也是2的倍数...

2018-09-22 15:38:57 255

原创 C++继承方式

公用(public):访问权限最高;除派生类外,外部函数也可以直接访问(无论是成员变量还是成员函数)。 私有(private):访问权限最低;只能是该类内部函数互相调用,派生类、外部函数都不能访问。默认为私有继承. 保护(protect):访问权限中间;该类内部函数、派生类都能访问,外部类、外部函数不能访问/基类成员在派生类中的访问权限不能高于继承方式指定的权限/我们这样来记会更加...

2018-08-08 13:56:47 207

原创 数据类型150问

1.sizeof与strlen的区别与联系 一、sizeof sizeof(…)是运算符,在头文件中typedef为unsigned int,其值在编译时即计算好了,参数可以是数组、指针、类型、对象、函数等。 它的功能是:获得保证能容纳实现所建立的最大对象的字节大小。 由于在编译时计算,因此sizeof不能用来返回动态分配的内存空间的大小。实际上,用sizeof来返回类型以及静态分配...

2018-08-08 13:54:49 212

原创 C语言150问

一.嵌入式开发中为什么选择C语言(C语言久盛不衰的主要原因)? 操作系统内核都是用C语言实现的。 那为什么操作系统内核都是用C语言实现呢?C语言特点 *C语言有出色的移植性,能在不同体系结构的软/硬件平台上运行。(修改的地方越少移植性越好) 什么是代码移植性?如何提高代码移植性? 可移植性并不是指所写的程序不作修改就可以在任何计算机上运行,而是指当条件有变化时,程序无需作很...

2018-08-08 13:53:07 347

原创 c++ (7)

1.函数模板函数模板由模板说明和函数定义构成模板说明的类属参数至少在函数定义中出现一次函数参数表中可以使用类属类型参数,也可以使用普通类型2.函数模板不允许自动类型转化 普通函数能够进行自动类型转换3.当函数模板遇到普通函数1 函数模板可以像普通函数一样被重载 2 C++编译器优先考虑普通函数 3 如果函数模板可以产生一个更好的匹配,那么选择模板 4 可以通...

2018-08-02 12:05:26 157

原创 c++ (6)

1.函数重写 在子类中定义与父类中原型相同的函数 函数重写只发生在父类与子类之间重载与重写区别: 重载:同一个作用域; 子类无法重载父类函数,父类同名函数将被覆盖; 重载是在编译期间根据参数类型和个数决定; 重写:发生于父类、子类之间; 父类和子类函数有相同的函数原型; 使用virtual关键字声明后能够产生多态; 运行期间根据具体对象类型决定调用的函数。...

2018-08-02 12:04:56 130

原创 c++ (5)

1.继承应用的场景1) 当你创建的新类与现有的类相似,只是多出若干成员变量或成员函数时,可以使用继承,这样不但会减少代码量,而且新类会拥有基类的所有功能。2) 当你需要创建多个类,它们拥有很多相似的成员变量或成员函数时,也可以使用继承。可以将这些类的共同成员提取出来,定义为基类,然后从基类继承,既可以节省代码,也方便后续修改成员。2.三种继承方式1) public继承方式 基类...

2018-08-02 12:04:26 158

原创 C++ 中虚继承

虚继承和虚函数是完全无相关的两个概念。 虚继承是解决C++多重继承问题的一种手段,从不同途径继承来的同一基类,会在子类中存在多份拷贝。这将存在两个问题:其一,浪费存储空间;第二,存在二义性问题,通常可以将派生类对象的地址赋值给基类对象,实现的具体方式是,将基类指针指向继承类(继承类有基类的拷贝)中的基类对象的地址,但是多重继承可能存在一个基类的多份拷贝,这就出现了二义性。虚继承可以解决多种...

2018-07-29 09:18:14 178

原创 c++ (4)

1.如果能作为左值则返回引用,例如a+b不能作为左值,a=b可作为左值,a++不能作为左值,其返回一个值,是常量,++a可作为左指,返回a这个变量 2.当无法修改左操作数的类时,使用全局变量进行重载,如<<和>>,因为无法修改ostream和istream,只能用友元函数进行重载,若用成员函数,成员变量会作为左值,而在cout中,成员变量只能作为右值,发生冲突3.=,...

2018-07-29 09:16:40 135

原创 C++(3)

1.对象初始化列表:当成员变量是一个对象,且该对象没有无参构造函数1.必须这样做: 如果我们有一个类成员,它本身是一个类或者是一个结构,而且这个成员它只有一个带参数的构造函数,没有默认构造函数。这时要对这个类成员进行初始化,就必须调用这个类成员的带参数的构造函数, 如果没有初始化列表,那么他将无法完成第一步,就会报错。2、类成员中若有const修饰,必须在对象初始化的时候,给con...

2018-07-25 10:41:04 214

原创 C++ (2)

1.面向对象语言开发效率高,运行效率下降百分之十左右2.private 私有,类内部调用protected 受保护(用于继承)public 公有,内外都可以调用3.class中默认是私有权限struct 中默认是公有的4.constructor 构造函数①不用用户调用,系统自动调用②名字与类名相同③无返回值(c++中唯一无返回值的函数)5.destructi...

2018-07-25 10:40:31 182

原创 函数返回局部变量

一般的来说,函数是可以返回局部变量的。 局部变量的作用域只在函数内部,在函数返回后,局部变量的内存已经释放了。因此,如果函数返回的是局部变量的值,不涉及地址,程序不会出错。但是如果返回的是局部变量的地址(指针)的话,程序运行后会出错。因为函数只是把指针复制后返回了,但是指针指向的内容已经被释放了,这样指针指向的内容就是不可预料的内容,调用就会出错。准确的来说,函数不能通过返回指向栈内存的指针(注意...

2018-07-25 10:39:46 147

原创 抽象 封装

在 C++ 中,我们使用访问标签来定义类的抽象接口。一个类可以包含零个或多个访问标签:使用公共标签定义的成员都可以访问该程序的所有部分。一个类型的数据抽象视图是由它的公共成员来定义的。 使用私有标签定义的成员无法访问到使用类的代码。私有部分对使用类型的代码隐藏了实现细节。 访问标签出现的频率没有限制。每个访问标签指定了紧随其后的成员定义的访问级别。指定的访问级别会一直有效,直到遇到下一...

2018-07-23 15:58:29 159

原创 类和对象

C++ 在 C 语言的基础上增加了面向对象编程,C++ 支持面向对象程序设计。类是 C++ 的核心特性,通常被称为用户定义的类型。 类用于指定对象的形式,它包含了数据表示法和用于处理数据的方法。类中的数据和方法称为类的成员。函数在一个类中被称为类的成员。类定义是以关键字 class 开头,后跟类的名称。类的主体是包含在一对花括号中。类定义后必须跟着一个分号或一个声明列表。class 是...

2018-07-23 15:57:41 131

原创 c++

include using namespace std;int aaaa;//不赋值 直接输出它的值的时候,因为是全局变量 所以默认给了值 0,如果是局部变量 那么就是一个垃圾值 //在C中全局变量可以重复定义 后定义的覆盖前面的 但是 C++不行 检测机制更加严格namespace A { int a = 1; void print() { ...

2018-07-19 10:23:27 141

原创 结构体

1.什么是结构体 结构体是一种专门设计用来存储不同数据类型元素集合 结构体与数组的对比: 1)都由多个元素组成 2)各个元素在内存中的存储空间是连续的 3) 数组只能由多个相同类型的数据构成, 结构体可以由多个不同类型的数据构成。2.结构体的格式 结构体内部的元素,也就是组成成分,我们一般称为”成员”。 结构体的一般定义形式为: struct 结构体名{ 类型名1

2017-10-27 16:35:25 267

原创 线性表

1.基本概念 线性表(List):由零个或多个数据元素组成的有限序列。2.注意: 1.线性表是一个序列。 2.0个元素构成的线性表是空表。 3.线性表中的第一个元素无前驱,最后一个元素无后继,其他元素有且只有一个前驱和后继。 4.线性表是有长度的,其长度就是元素个数,且线性表的元素个数是有限的,也就是说,线性表的长度是有限的。 如果用数学语言来进行定义,可如下: 若将线性表记为(a1,

2017-10-27 16:34:35 289

原创 C语言基础知识学习(变量的储存类型)

为初始化的全局变量为0,局部变量为垃圾值register:寄存器变量 (经常访问,循环)值存在cpu中 register int x;不存在取地址auto:默认extern:声明外部变量(全局) 外部:不在本文件在同一个工程 变量为全局变量static: 修饰函数只能在本文件中调用,不能在其他函数调用(静态函数) 修饰局部变量,只能被定义一次,只分配一次内存空间,改变变量的生命周期至程序

2017-10-20 15:33:08 243

原创 C语言基础知识学习(函数)

puts:输出字符串到终端 puts(字符数组) 遇\0结束gets:输入字符串到字符数组,得到一个函数值(该字符数组的起始地址) get(字符数组)strcat:连接两个字符串 strcat(字符数组1(或者字符串),字符数组2(或者字符串) 字符串2接到字符串1后面,返回字符数组1的地址,字符数组1要足够大strcpy:复制字符串 strcpy(字符数组1,字符数组2(字

2017-10-20 15:31:24 448

原创 ASCII

Bin(二进制) Oct(八进制) Dec(十进制) Hex(十六进制) 缩写/字符 解释 0000 0000 0 0 00 NUL(null) 空字符 0000 0001 1 1 01 SOH(start of headline) 标题开始 0000 0010 2 2 02 STX (start of text) 正文开始 0000 0011 3

2017-10-13 22:34:48 225

原创 C语言基础知识学习(数组)

首先,数组是同种类型元素的集合。 一、 一维数组 1. 一维数组定义 int a[10]; 这样我们便定义了一个数组a,它分配10个int类型空间。数组的初始化 我们可以在定义一个数组的同时对它进行初始化操作,例如: int a[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};我们也可以只对数组的部分元素进行初始化操作,例如: int a[10] = {

2017-10-11 16:26:21 219

原创 C语言基础知识学习(三)

一 程序结构 程序结构可以分为:顺序、 分支和循环1分支结构(if-else) 1)if-的使用形式 如果条件为真执行语句块1,否则跳过。 If(常量/变量/表达式){ 语句块1; }2) if –else形式 如果条件为真执行语句块1,为假执行语句块2。 If(常量/变量/表达式){ 语句块1; }else{ 语句块2;

2017-10-11 16:25:40 254

原创 C语言基础知识学习(二)

一.运算符 1运算符及分类运算符是特定的算术或者逻辑符号。1)按功能分类 算术运算符、关系运算符、逻辑运算符和按位运算符。 2)按操作数的个数分类 单目运算符、双目运算符和三目运算符。2运算符的优先级 运算符的优先级分15等级,1级最高,15级最低。 表达式中,优先级高的的先于低的运算,优先级相同的时候,按照运算符的结合性运算。3运算符的结合性左结合:多个同级优先级的运算符,从左向右运

2017-10-11 16:25:00 213

原创 C语言基础知识学习(一)

我们学好C 语言的理由: 第一:C语言语法结构很简洁精妙,写出的程序也很高效,很便于描述算法,大多数的程序员愿意使用C语言去描述算法本身,所以,如果你想在程序设计方面有所建树,就必须去学它。 第二:C语言能够让你深入系统底层,你知道的操作系统,哪一个不是C语言写的?所有的windows,Unix,Linux,Mac,os/2,没有一个例外的,如果你不懂C语言,怎么可能深入到这些操作系统

2017-10-11 16:04:52 1596

转载 LINUX基本命令

部分目录结构: / 根目录(只存放目录,不存放文件) /bin 可执行二进制目录文件 ls cat mv tar /boot 存系统启动文件 /dev 设备文件目录 /ect 配置文件目录 /home 家目录 /root 系统管理员 /sbin 超级命令 shutdown mount /tmp 临时文件 /mnt 光盘挂载点/usr 应用程序存放目录(以下为改目录下的子目录)

2017-10-10 18:26:35 280

原创 文件管理,系统管理,系统安全常用指令

文件管理命令: Mkdir Mkdir +文件夹名字 创建一个文件夹 Mkdir -p /home/abc/def 创建def文件夹,由于home下没有abc文件夹,用-p自动补建。Grep :找到具体数据 Grep + 数据/代码段 查找数据所在文件 Grep ‘hello world’找到有hello world 的所有文件Find:在目录中搜索文件 Find + 目录 + -na

2017-10-03 11:54:28 306

原创 gcc,make,gdb命令用法

gcc编译四阶段: 预处理 (展开头文件) 编译(语法检查,将c编译成汇编语言) 汇编(将汇编语言变为二进制) 链接(将头文件与c库链接)1.预处理 由于在test.c中使用了头文件 stdio.h ,所以 gcc 编译时首先要把头文件stdio.h中的内容加载到test.c中的首部 gcc -E test.c -o test.i2.编译(三个功能) 词法分析,主

2017-10-02 23:47:22 268

空空如也

空空如也

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

TA关注的人

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