自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 网络api

下面写网络的API  (1)int socket(in family,int type, int protocol);         头文件:#include                      #include                    形参:①family:遵循的通讯协议,宏:AF_INET  为IPV4(通常写这个),AF_INET6  为IPV6

2017-01-23 08:55:04 330

转载 client server

PS:网络很重要,好好学~~~!!! 下面赋今天学习的代码:[cpp] view plain copy /******************* 服务器 *******************/    #include  #include  #include  #include    #include  #include  #

2017-01-22 10:34:09 628

原创 四层网络模型与七层网络模型

先说四层的TCP/IP协议被组织成四个概念层,其中有三层对应于ISO参考模型中的相应层。TCP/IP协议族并不包含物理层和数据链路层,因此它不能独立完成整个计算机网络系统的功能,必须与许多其他的协议协同工作。 TCP/IP分层模型的四个协议层分别完成以下的功能:第一层 网络接口层   网络接口层包括用于协作IP数据在已有网络介质上传输的协议。实际上TCP/IP标准并不定义与ISO数

2017-01-20 10:05:45 809

原创 网络基础知识罗列

1:四层网络模型与七层网络模型2:5类Ip的分类3:ip,端口号,网关,dns,路由,vpn的作用4:tcp与udp的区别5:三次握手,四次挥手详细过程与作用6:什么时候使用tcp协议,什么时候使用udp协议7:c/s架构和b/s架构的优缺点8:tcp的数据报头的构成9:udp的数据报头的构成10:如何使用udp实现可靠传输

2017-01-20 10:02:46 267

转载 常用API

常用系统函数在使用C++语言进行编程时,许多很基本和很重要的功能都由系统的库函数和类库来实现。为便于学习和使用,本附录列出了一些常用的库函数,供读者查阅。本附录的依据是Windows 环境下VC++编译系统。由于不同编译系统提供的库函数和类库可能会稍有差异,读者在实际使用时应参考所使用系统的手册。为方便查阅,本附录的内容基本按函数类型分类,不同的分类中的内容可能会有

2017-01-19 22:35:28 371

转载 sqlite学习

QLite采用动态数据类型,当某个值插入到数据库时,SQLite将会检查它的类型,如果该类型与关联的列不匹配,SQLite则会尝试将该值转换成该列的类型,如果不能转换,则该值将作为本身的类型存储,SQLite称这为“弱类型”。但有一个特例,如果是INTEGER PRIMARY KEY,则其他类型不会被转换,会报一个“datatype missmatch”的错误。  SQLite支持NULL、I

2017-01-18 23:36:28 349

原创 0117 带缓存的I/O操作

今天,所想提及的是linux学习中的带缓存I/O操作暂时所说的主要有fopen,fclose,fread,fwrite操作fopen与函数fopen相关函数有open ,fclose要注意的是fopen函数所需的 头文件仅为#include ,因此这个函数比open函数要方便在linux系统中,这个函数的定义为 FILE * fopen(const char * path,co

2017-01-17 19:55:37 229

转载 红黑树

  红黑树>    在之前实现了AVL树,其实红黑树和AVL树都是高效且平衡的二叉搜索树,增删查改的时间复杂度都是O(lg N).但是在实际应用中红黑树的应用最多,比如C++STL库--map/set,Java库,Linux内核以及其他的一些库里都用到了红黑树,这是因为红黑树是不追求完全平衡的是一种近似平衡的二叉树,保证最长路径不超过最短路径的二倍,相对于AVL树来说降低了旋转的要求,

2016-12-22 22:28:02 240

原创 链表练习

#include struct node{        int num;        struct node *next;};typedef struct node Node;typedef Node * Link;void creat_link(Link *head){        *head = NULL;}

2016-12-21 22:22:50 301

转载 哈希表详解

散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。给定表M,存在函数f(key),对任意给定的关键字值key,代入函数后若能得到包含该关键字的记录在表中的地址,则称表M为哈希(Hash)表,函数f(key)

2016-12-19 21:52:52 262

原创 20161218

C语言常见死循环1:while(1){}2:for( ; ; ){任意语句}staticstatic修饰变量和函数1:static修饰局部变量,叫做静态局部变量保存在数据区的static段,生命周期变成整个程序2:static修饰的全局变量,只能在本文件访问,外部文件不能访问3:static修饰一个函数,该函数只能在本文件访问,外部文件不能访

2016-12-18 21:47:23 225

转载 c语言链表详解

c语言链表1. 链表介绍C语言的单向链表翻转是面试官常问问题之一,故此,咱就谈一谈,链表并不是如此可怕,学不会,想不通.链表和数组一样都是存储数据,链表是非连续,非顺序的存储结构.链表是灵活的内存动态管理(随机分配空间),删除创建结点非常方便链表组成:由一系列结点组成.链表结点:实际上是结构体变量.typedef struct _LINKNODE{int

2016-12-17 22:08:36 1132 1

转载 c与c++区别

C++与C有什么不同呢?我们现在一步步地来分析一下 一、类,类我并不说它有什么不好,但是对于初学者,它是一个累赘。类的封装使得初学者对程序产生厌倦,感到不适和麻烦。 二、引用,引用是C++中最臭屁的东西了,最好尽量不要用它,我就是从来不用引用,除非万不得已。引用对于初学者就更容易产生混淆,不知道哪个是引用,哪个是变量。 三、函数的重载,初学者学函数的重载好像没什么坏处,但是,这会使初

2016-12-14 22:19:15 216

转载 链表

  在第一章的数组中,我们看到数组作为数据存储结构有一定的缺陷。在无序数组中,搜索时低效的;而在有序数组中,插入效率又很低;不管在哪一种数组中删除效率都很低。况且一个数组创建后,它的大小是无法改变的。        在本章中,我们将讨论下链表这个数据结构,它可以解决上面的一些问题。链表可能是继数组之后第二种使用得最广泛的通用数据结构了。本章主要讨论单链表和双向链表。       

2016-12-13 21:34:07 251

转载 运算符与表达式

1 概论计算机内存中的数据可以通过变量,常量来表示和存储,那么这些数据如何运算? C语言中提供了大量(34种)的运算符可以用来完成数据的算术,赋值,逻辑,关系,条件判断以及自增自减运算和基于二进制的位运算,同时提供了跨平台的用于数据格式化输入输出的函数printf()和scanf(),而实际上计算机需要去完成的任务正是读取输入的数据,根据业务逻辑进行计算之后将结果输出。在学习为

2016-12-12 21:53:56 313

原创 编程规范3

3标识符命名3-1:标识符的命名要清晰、明了,有明确含义,同时使用完整的单词或大家基本可以理解的缩写,避免使人产生误解。说明:较短的单词可通过去掉“元音”形成缩写;较长的单词可取单词的头几个字母形成缩写;一些单词有大家公认的缩写。示例:如下单词的缩写能够被大家基本认可。temp可缩写为  tmp  ;flag可缩写为  flg  ;sta

2016-12-11 22:27:16 178

原创 编程规范2

2注释2-1:一般情况下,源程序有效注释量必须在20%以上。说明:注释的原则是有助于对程序的阅读理解,在该加的地方都加了,注释不宜太多也不能太少,注释语言必须准确、易懂、简洁。2-2:说明性文件(如头文件.h文件、.inc文件、.def文件、编译说明文件.cfg等)头部应进行注释,注释必须列出:版权说明、版本号、生成日期、作者、内容、功能、与其它

2016-12-10 22:44:25 193

原创 编程规范1

1排版1-1:程序块要采用缩进风格编写,缩进的空格数为4个。说明:对于由开发工具自动生成的代码可以有不一致。1-2:相对独立的程序块之间、变量说明之后必须加空行。示例:如下例子不符合规范。if (!valid_ni(ni)){    ... // program code}repssn_ind = ssn_data[i

2016-12-09 22:38:00 227

原创 指针与数组的区别

空间分配上;数组是静态分配(静态存储区或栈空间)指针是动态分配(堆空间)访问效率:数组是直接访问(效率更高)指针是间接访问(灵活性更高)安全性:数组会出现数组越界指针可能会导致内存泄漏函数形参:数组,一维数组用指针存放二维数组用一维指针存放空间连续性:数组是一定连续指针不一定连续

2016-12-08 22:14:15 192

原创 函数名

函数的执行过程1:通过函数名找到函数入口2:给形参分配空间3:传值4:执行函数体语句5:返回,释放空间注意:当只使用而不改变实参对应的空间的值时,传实参变量名当要使用并且改变实参对应的空间的值时,传实参变量对应的空间地址

2016-12-07 22:02:10 210

转载 数组与指针

C++/C 程序中,指针和数组在不少地方可以相互替换着用,让人产生一种错觉,以为两者是等价的。数组要么在静态存储区被创建(如全局数组),要么在栈上被创建。数组名对应着(而不是指向)一块内存,其地址与容量在生命期内保持不变,只有数组的内容可以改变。指针可以随时指向任意类型的内存块,它的特征是“可变”,所以我们常用指针来操作动态内存。指针远比数组灵活,但也更危险。下面以字符串为例比

2016-12-05 22:16:51 147

转载 C函数

Functions 函数和变量、控制流、条件一样、函数也是现代编程语言的基本组成部分。他可以使我们在应用中重复利用一块代码,对于代码的组织和维护是很有必要的。您将在iOS和OS X的框架中发现大量的例子。像其他的基础元素一样,Object-C的函数也是建立在C语言函数之上的。这章我们将介绍C语言最重要的方面,包括基本语法、声明和实现、变量生命周期以及函数库的注意事项。Basic

2016-12-04 22:44:01 408

原创 20161203

一维数组名:数组名是指针常量,保存的是数组首元素的地址a  一维数组的首元素的地址&a :对数组名取地址 =数组的地址*(&a) = a :对一维数组的地址取值=1维数组的首元素的地址aa :首个一维数组的地址*aa :首个一维数组的首元素的地址**aa :首个一维数组的首元素的值&aa :对二维数组名取值等于二维数组的地址*(&aa) = aa :对二维数组的

2016-12-03 21:43:19 157

原创 2016120

今天老师在课上提到malloc,于是我在网上查了下关于mallocmalloc()是C语言中动态存储管理 的一组标准库函数之一。其作用是在内存的动态存储区中分配一个长度为size的连续空间。其参数是一个无符号整形数,返回值 是一个指向所分配的连续存储域的起始地址的指针。  动态内存分配 就 是指在程序执行的过程中动态地分配或者回收存储空间的分配内存的方法。动态内存分配不像数组等静态

2016-12-02 22:01:07 138

原创 三人借书(5本)问题

#include int main(){        int a;        int b;        int c;        int count = 0;        for(a = 1; a         {                for(b = 1; b          {   

2016-12-01 22:24:37 303

原创 百鸡百钱问题

#include int main(){        int a;        int b;        int c;        int count = 0;        for(a = 1; a         {                for(b = 1; b          {   

2016-12-01 22:21:45 322

原创 20161130

要养成以下的良好习惯1:当一个指针没有指向时,要将其初始化为NULL2:当为指针赋值时,一定要给它分配空间3:当赋值成功时,要检查是否分配成功4:要对分配的内存初始化5:用完内存要释放6:释放完了要置NULL

2016-11-30 22:03:42 162

转载 数组与指针的区别

转载请注明来源 http://blog.csdn.net/imred/article/details/45441457 实际上关于数组与指针的区别这个问题在《C专家编程》已经有很详细的阐释,但我想用自己的语言说一说我的理解。数组是指针?最近在做数据结构课设,其中一个函数发生了令人费解的错误,简化后的代码如下:#include int main(){ char

2016-11-29 22:15:22 176

转载 野指针与避免

1.我们知道在程序中使用了一个野指针,会引起程序出错,造成段错误。下面我举一个例子指出野指针[objc] view plain copy print?#include     int main()  {      charchar *str;        printf("input a str\n");      scanf(" %s", str)

2016-11-28 21:47:47 229

原创 输入一串字符,输入头串与尾串,在该字符串里找出这段字符串

#include#include#define MAX 1024int head_flog = 0;int tail_flog = 0;char *tail(char *str, char *b){    int num = 0;    int len_b;    char *temp = b;    len_b = strlen(b);  

2016-11-27 20:34:17 404

原创 将一个句子里的英文单词倒叙输出,但不改变单词里的字母顺序

#include   #include   #define MAX 1024int change(char *str,int len)  {         int i = 0;       int j = 0;       int m = len - 1;          char temp = 0;       

2016-11-26 21:53:02 2647

转载 变量与常量

关于变量、常量、类型和运算符等。2.1   变量名    变量名由字母和数字组成,首字母必须是字母,下划线“_”看作是字母,所以可以放在首字母。但是,尽量不用用下划线作为首字母,因为在库函数中经常这样命名。变量名用小写字母,符号常量用大写字母。变量名字的选择需要根据实际目的,局部变量用短名,外部变量用长名。2.2   数据类型和大小    编译器会给

2016-11-25 21:53:28 223

转载 指针

指针一、变量的内存地址先明确两个概念: 变量的地址:变量在内存中所占空间的首地址; 变量的值:变量在存储空间的存放的地址;二指针变量的定义和初始化1、指针变量的定义:类型关键字 *指针变量名int *pa;int *pa, *pb;1212为了避免忘记给指针初始化带来的潜在危险,习惯上在定义指针变量的时候,将其初始化为NULL:int *p

2016-11-24 21:30:23 171

转载 2016年 1月 面试题

1月12日面试总结1,​​你们整个项目是基于什么框架搭建的?(直接蒙蔽了,不过我还算淡定一些的)mvc MVC(Model_view_contraller)”模型视图控制器”。 MVC应用程序总是由这三个部分组成。Event(事件)导致Controller改变Model或View,或者同时改变两者。只要 Controller改变了Models的数据或者属性,所有依赖的View都

2016-11-23 21:55:33 214

原创 2016.11.22 左右法则

左右法则右左法则:首先从最里面的圆括号内未定义的标识符开始阅读看起,然后往右看,再往左看。每当遇到圆括号时,就应该掉转阅读方向。一旦解析完圆括号里面所有的东西,就跳出圆括号。重复这个过程直到整个声明解析完毕。  总之对声明进行分析,最根本的方法还是按优先级和结合性来类比替换,从那些最基本的声明进行类比,简化,从而进行理解。下面分析几个例子,来具体阐述如何使用这种方法。简单:in

2016-11-22 21:30:42 249

原创 2016. 11.22 输入一个整数,用字符串输出

#include #include #define MAX 1024void turn(int k, char *src)   这里是定义调用的函数{        int i = 0;        int len = 0;        char temp;        while( k != 0)        {

2016-11-22 20:34:11 659

转载 C指针

1 .什么是指针在探究之前我们要弄清楚指针的概念,指针做什么int *p;1学过C的人都应该知道,这定义了一个指针,在这里p到底是个什么东西呢? 其实,p也就是一个变量,而对于变量,就可以理解为一个左值,会开辟一块内存空间,然后在这块空间中储存内容。理解指针int *p;int a=10;p=&a;123在这几句话,也不难理解,正因为像咱们在上面

2016-11-21 21:49:18 140

转载 左右法则

C语言所有复杂的指针声明,都是由各种声明嵌套构成的。如何解读复杂指针声明呢?右左法则是一个既著名又常用的方法。不过,右左法则其实并不是C标准里面的内容,它是从C标准的声明规定中归纳出来的方法。C标准的声明规则,是用来解决如何创建声明的,而右左法则是用来解决如何辩识一个声明的,两者可以说是相反的。右左法则的英文原文是这样说的:   The right - left rul

2016-11-20 22:00:16 156

原创 2016.11.19 C上课重点

C语言的特点:1:所有操作系统的内核都是由C语言实现的2:可移植性,可以在不同平台不同系统上运行(切换平台时,所需更改的语句少,就是移植性好)3:很高的运行效率4:简洁紧凑,可以直接访问硬件C语言的缺点:1:代码的复用性差(C是面向结构的)2:维护性差3:扩展性差c语言的标准:1:K&RC 2:ANSIC/C89 3:C99 4:C11数据类型1:一个整

2016-11-19 21:57:57 158

原创 2016.11.18

今天老师讲了makefile中如何不用函数来实现make的过程make的好处是,先生成点O文件,当要编译文件量很大时,突然发现有文件要更改时,可以只用改一个需要的文件,大大缩短编译时间,因为make命令会检查文件的时间戳,会重新编译更改的文件。尤其要注意的问题是: 1:makefile的作用 2:快速写一个简单的makefile 3:学过什么样的makefile然后,老师又

2016-11-18 22:20:05 168

空空如也

空空如也

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

TA关注的人

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