自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 资源 (6)
  • 收藏
  • 关注

转载 C语言的不完整类型和前置声明

声明与定义(Declaration and Definition)开始这篇文章之前,我们先弄懂变量的declaration和definition的区别,即变量的声明和定义的区别。一般情况下,我们这样简单的分辨声明与定义的区别:建立存储空间的声明称之为“定义”,而把不需要建立存储空间的称之为“声明”。其实更为准确地描述的话,变量的声明可以分为两种情况:(1)一种是需要建立存储空间的。例如:in

2017-12-01 18:07:35 515

原创 可变参函数

例如可变参函数printf的函数原型/函数声明为:int printf(char *fmt, ...);其中参数表必须至少包括一个有名参数(如fmt);省略号表示参数表中参数的数量和类型是可变的,且省略号只能出现在参数表的尾部。 在标准头文件<stdarg.h>中包含一组宏定义,它们对如何遍历未知数目和类型的函数参数表进行了定义;该头文件的实现因不同的机器而不同,但提供的接口是一致的。主要的宏如下

2017-08-30 16:44:41 340

转载 数据通信

一.基础概念1.信号(signal)信息(information)是事物现象及其属性标识的集合,它是对不确定性的消除。数据(data)是携带信息的载体。信号(signal)是数据的物理表现,如电气或电磁。根据信号中代表消息的参数的取值方式不同,信号可以分为两大类:(1)模拟信号:连续信号,代表消息的参数的取值是连续的。(2)数字信号:离散信号,代表消息的参数的取值是离散的。2.频率(fr

2017-08-24 15:51:03 3686

转载 VLAN

1.为什么需要VLAN1.1 什么是VLAN?VLAN(Virtual LAN),翻译成中文是“虚拟局域网”。LAN可以是由少数几台家用计算机构成的网络,也可以是数以百计的计算机构成的企业网络。VLAN所指的LAN特指使用路由器分割的网络——也就是广播域。在此让我们先复习一下广播域的概念。广播域,指的是广播帧(目标MAC地址全部为1)所能传递到的范围,亦即能够直接通信的范围。严格地说,并不仅仅是

2017-07-05 17:18:33 440

转载 Socket

“一切皆Socket!”话虽些许夸张,但是事实也是,现在的网络编程几乎都是用的socket。——有感于实际编程和开源项目研究。我们深谙信息交流的价值,那网络中进程之间如何通信,如我们每天打开浏览器浏览网页时,浏览器的进程怎么与web服务器通信的?当你用QQ聊天时,QQ进程怎么与服务器或你好友所在的QQ进程通信?这些都得靠socket?那什么是socket?socket的类型有哪些?还有sock

2017-06-28 15:57:28 269

原创

图(graph):结点之间的关系可以是任意的,图中任意两个数据之间都可能相关。二元组定义:图G是一个二元组(V,E),其中V称为顶点集(Vertexes Set);E称为边集(Edges Set)。有向图:VR是两个顶点之间的关系集合;若,则表示从v到w的一条弧(arc),且称v为弧尾(tail)或初始点(initialnode),称w为弧头(head)或终端点(terminal node),此时的

2017-06-21 20:00:07 383

原创 二叉树

二叉树(Binary Tree):每个结点至多只有两颗子树(即二叉树中不存在度大于2的结点),并且,二叉树的子树有左右之分,其次序不能任意颠倒。 二叉树性质: (1) 在二叉树的第i层上至多有个结点。 (2) 深度为k的二叉树至多有个结点。 (3) 对任何一颗二叉树T,如果其终端结点数为,度为2的结点数为,则。 (4) 具有n个结点的完全二叉树的深度

2017-06-21 19:35:42 4270

转载 TCP/IP三次握手和四次挥手

建立TCP需要三次握手才能建立,而断开连接则需要四次握手。整个过程如下图所示:先来看看如何建立连接的。首先Client端发送连接请求报文,Server段接受连接后回复ACK报文,并为这次连接分配资源。Client端接收到ACK报文后也向Server段发生ACK报文,并分配资源,这样TCP连接就建立了。那如何断开连接呢?简单的过程如下:【注意】中断连接端可以是Client端,也可以是Server

2017-06-16 21:02:57 242

转载 一个C语言运算符优先级导致的问题

检测某个数的某个二进制位是否为0,是常见的控制逻辑,如下代码所示:if (x & (1<<2) == 0) { printf("x的第2个二进制位为0\n");}123123然而实际上,上述代码永远不会执行printf,也就是说 x & (1<<2) == 0这个表达式始终为0。原因在于在C语言里,==运算符的优先级高于&,导致上面的表达式相当于:if ( x & ((1<<2) == 0

2017-06-12 14:45:38 332

原创 内存四区

stack(栈区):存放局部变量、函数参数、返回数据和返回地址,系统自动分配释放。栈顶从高地址向低地址的方向生长,操作方式类似于数据结构中的栈。 heap(堆区):由程序员通过malloc()等函数分配释放,若程序员不释放,程序结束时可能由OS回收。它与数据结构中的堆是两回事,分配方式倒是类似于链表。堆的生长方向从低地址向高地址的方向生长。 static area(静态区):存放全局变量和静态变

2017-06-12 14:07:33 260

转载 欢迎使用CSDN-markdown编辑器

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl

2017-06-12 14:06:20 210

转载 C语言中的隐式函数声明

1 什么是C语言的隐式函数声明在C语言中,函数在调用前不一定非要声明。如果没有声明,那么编译器会自动按照一种隐式声明的规则,为调用函数的C代码产生汇编代码。下面是一个例子:int main(int argc, char** argv){ double x = any_name_function(); return 0;}123456123456单纯的编译上述源代码,并没有任何报

2017-06-10 15:10:09 1153

转载 标准C/C+头文件

标准C语言头文件ISO C标准定义的头文件(24项)<assert.h> 验证程序断言       <complex.h> 支持复数算术运算      <ctype.h> 字符类型<errno.h> 出错码             <fenv.h> 浮点环境                <float.h> 浮点常量<inttypes.h> 整型格式转换     <iso646.h> 替代关系操作

2017-06-10 14:27:28 517

转载 C语言头文件怎么写

c语言头文件怎么写? <div class="article_manage clearfix"> <div class="article_r"> <span class="link_postdate">2015-03-24 23:20</span> <span class="link_view" ti

2017-06-10 14:04:36 860

转载 详解coredump

一,什么是coredump        我们经常听到大家说到程序core掉了,需要定位解决,这里说的大部分是指对应程序由于各种异常或者bug导致在运行过程中异常退出或者中止,并且在满足一定条件下(这里为什么说需要满足一定的条件呢?下面会分析)会产生一个叫做core的文件。        通常情况下,core文件会包含了程序运行时的内存,寄存器状态,堆栈指针,内存管理信息还有各种函数调用堆栈信息

2017-05-22 01:50:06 314

原创 C/C++头文件

C/C++头文件:C/C+程序通常由头文件(header files)和定义文件(definition files)组成。头文件作为一种包含功能函数、数据接口声明的载体文件,主要用于保证程序的声明(declaration);而定义文件用于保存程序的实现(implementation)。头文件一般由四部分内容组成:(1)头文件开头处的版权和版本声明;(2)预处理块;(3)inline函数的定义;(4)

2017-03-23 17:35:33 471

原创 PV操作

PV操作:由P操作原语和V操作原语组成(原语是不可中断的过程),对信号量进行操作如下:P(S)是将信号量S减1,若S>=0则P(S)执行完毕,否则执行P(S)的进程置为阻塞状态,进入等待队列;V(S)是将信号量S加1,若S<=0则释放一个因执行P(S)而等待的进程。 信号量(semaphore):其数据结构为一个值和一个指针,指针指向等待该信号量的下个进程。S>=0时,S表示可用资源的数量;S<0

2017-03-23 17:25:37 1828

原创 笔试题

#include<stack>#include<vector>#include<string>using namespace std;/**利用两个栈实现一个队列*/template<class T> class Queue{public: Queue(){ } ~Queue(){ } void push(const T& t); T p

2017-03-23 17:22:33 240

原创 动态规划

动态规划(dynamic programming):是运筹学的一个分支,是求解决策过程最优化的数学方法。动态规划算法与分治法类似,其基本思想也是将待求解问题分解成若干个子问题,先求解子问题,然后从这些子问题的解得到原问题的解。与分治法不同的是,适合于用动态规划求解的问题,经分解得到子问题往往不是互相独立的。若用分治法来解这类问题,则分解得到的子问题数目太多,有些子问题被重复计算了很多次。如果我们能够

2017-03-23 17:18:34 429

原创 查找

查找(searching):根据给定的某个值,在查找表中确定一个其关键字等于给定值的记录或数据元素。若表中存在这样的一个记录,则称查找是成功的,此时查找的结果为给出整个记录的信息,或指示该记录在查找表中的位置;若表中不存在关键字等于给定值的记录,则称查找不成功,此时查找的结果可给出一个空记录或空指针。 注:查找表(Search table):是由同一类型的数据元素构成的集合。关键字(key):是数

2017-03-23 17:04:04 303

原创 排序

排序(sorting):将一个数据元素(或记录)的任意序列,重新排列成一个按关键字有序的序列。排序分内部排序和外部排序。外部排序:指的是待排序记录的数量很大,以致内存一次不能容纳全部记录,在排序过尚需对外存进行访问的排序过程。内部排序:指的是待排序记录存放在计算机随机存储器中进行的排序过程。依据不同原则对内部排序方法进行分类:交换排序、插入排序、选择排序、归并排序、基数排序。通常,在排序过程中需进行

2017-03-23 17:00:09 482

原创 递归

递归(recursion):一个直接调用自己或通过一系列调用语句间接调用自己。对问题进行分解、求解的过程得到的是和原问题性质相同的子问题,由此自然得到一个递归算法,且比利用“栈”实现的非递归算法跟符合人们的思维逻辑。利用分治法(divide and conquer)进行递归算法设计:写出递归定义:基本项和归纳项。基本项:描述了一个或几个递归过程的终结状态(不需要递归可以直接求解的状态)。归纳项:描述

2017-03-23 16:46:57 331

原创 链表

链表链表(linked list):链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。 注:使用链表结构可以克服数组链表需要预先知道数据大小的缺点,链表结构可以充分利用计算机内存空间,实

2017-03-23 15:40:03 575

翻译 Android开发的相关开发文档

别人翻译的Android开发的相关开发文档http://wiki.eoeandroid.com/Android_Traininghttp://wiki.eoeandroid.com/Android_API_Guideshttp://wiki.eoeandroid.com/Android_Designhttp://wiki.eoeandroid.com/Android

2015-03-05 13:07:49 268

转载 如何修改Eclipse的工作空间和字体及颜色

Eclipse是一款很强的Java IDE,我们在开始的时候,往往设定了默认的workspace,当用久在之后,我们可能要去更改一下workspace的位置。下面有几种方法可以更改workspace的目录。1、进入 Window > Preferences > General > Startup and Shutdown 选中 Prompt for workspace on startup

2014-11-22 20:35:10 921

转载 Android 开发规范

一、Android 编码规范1.java 代码中不出现中文,最多注释中可以出现中文2.局部变量命名、静态成员变量命名只能包含字母,单词首字母出第一个外,都为大写,其他字母都为小写3.常量命名只能包含字母和_,字母全部大写,单词之间用_隔开4.layout中的id命名命名模式为:view缩写_模块名称_view的逻辑名称view的缩写详

2014-11-22 16:06:37 288

TCP/IP详解卷1:协议(part 2)

TCP/IP详解卷1:协议(part 2)

2017-08-20

TCP/IP详解卷1:协议(part 1)

TCP/IP详解卷1:协议(part 1) 记得把part 2下载下来,然后解压part 1

2017-08-20

ProGit2(官方第2版)

git官方书籍

2017-08-20

空空如也

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

TA关注的人

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