自己实现strstr函数与strchr函数

const char *my_strstr(const char *str, const char *sub_str)   {       for(int i = 0; str[i] != '\0'; i++)       {           int tem = i; //tem保留主串中的起...

2017-07-06 15:10:04

阅读数 301

评论数 0

快速弄懂内存字节对齐

字节对齐有三原则: 1:数据成员对齐规则:结构(struct)(或联合(union))的数据成员,第一个数据成员放在offset为0的地方,以后每个数据成员存储的起始位置要从该成员大小或者成员的子成员大小(只要该成员有子成员,比如说是数组,结构体等)的整数倍开始(比如int在32位机为4字节...

2017-07-06 10:59:44

阅读数 753

评论数 0

STL6大标准库的关系和作用

STL六大组件简介 1、容器(Containers):各种数据结构,如Vector,List,Deque,Set,Map,用来存放数据,STL容器是一种Class Template,就体积而言,这一部分很像冰山载海面的比率。 2、算法(Algorithms):各种常用算法如Sort...

2017-02-13 20:27:10

阅读数 1029

评论数 0

int *ptr=(int *)(&a+1)

int *ptr=(int *)(&a+1)(面试题),有需要的朋友可以参考下。 【问题】:请写出以下程序的输出结果。 int main() { int a[5]={1,2,3,4,5}; int *ptr=(int *)(&a+1); p...

2016-12-24 22:14:44

阅读数 415

评论数 0

linux套接字

一、什么是socket  socket,即套接字是一种通信机制,凭借这种机制,客户/服务器(即要进行通信的进程)系统的开发工作既可以在本地单机上进行,也可以跨网络进行。也就是说它可以让不在同一台计算机但通过网络连接计算机上的进程进行通信。也因为这样,套接字明确地将客户端和服务器区分开来。 二、套...

2016-12-23 23:42:42

阅读数 243

评论数 0

自己实现strcpy

一个标准的strcpy函数: 原本以为自己对strcpy还算比较了解,结果面试时还是悲剧了。 下面给出网上strcpy的得分版本: 2分 void strcpy( char *strDest, char *strSrc ) {   while( (*st...

2016-12-22 22:24:02

阅读数 1454

评论数 0

B/S和C/S的区别

一、什么是CS和BS结构?  1.C/S又称Client/Server或客户/服务器模式。服务器通常采用高性能的PC、工作站或小型机,并采用大型数据库系统,如Oracle、Sybase、Informix或SQLServer。客户端需要安装专用的客户端软件。  2.B/S是Brower/Serv...

2016-12-21 23:23:07

阅读数 227

评论数 0

带缓冲的I/O操作和不带缓冲的I/O操作

首先要明白不带缓冲的概念:所谓不带缓冲,并不是指内核不提供缓冲,而是只单纯的系统调用,不是函数库的调用。系统内核对磁盘的读写都会提供一个块缓冲(在有些地方也被称为内核高速缓存),当用write函数对其写数据时,直接调用系统调用,将数据写入到块缓冲进行排队,当块缓冲达到一定的量时,才会把数据写入磁盘...

2016-12-20 23:12:35

阅读数 235

评论数 0

const char *p,char const *p, char * const p之间的区别

const char * p 和 char const * p 是一个意思,都是p所指向的变量的值不能改变,例如: const char ch = 'a'; const char* p = &ch; *p = 'b'; //这样是错的 char* const p,意思是p所指向的地址...

2016-12-19 23:07:39

阅读数 193

评论数 0

什么是子网掩码

子网掩码(subnet mask)是每个使用互联网的人必须要掌握的基础知识,只有掌握它,才能够真正理解TCP/IP协议的设置。 子网掩码——屏蔽一个IP地址的网络部分的“全1”比特模式。对于A类地址来说,默认的子网掩码是255.0.0.0;对于B类地址来说默认的子网掩码是255.255.0....

2016-12-18 23:05:52

阅读数 950

评论数 0

typedef 函数指针的用法

进入正文:  代码简化, 促进跨平台开发的目的.  typedef 行为有点像 #define 宏,用其实际类型替代同义字。  不同点:typedef 在编译时被解释,因此让编译器来应付超越预处理器能力的文本替换。 用法一: typedef...

2016-12-17 23:59:10

阅读数 223

评论数 0

什么是VPN?

VPN -- 虚拟专用网络 功能:在公用网络上建立专用网络,进行加密通讯。在企业网络中有广泛应用。VPN网关通过对数据包的加密和数据包目标地址的转换实现远程访问。VPN有多种分类方式,主要是按协议进行分类。VPN可通过服务器、硬件、软件等多种方式实现。 工作原理 通常情况...

2016-12-16 23:40:55

阅读数 251

评论数 0

什么是枚举

枚举类型 在实际问题中,有些变量的取值被限定在一个有限的范围内。例如,一个星期内只有七天,一年只有十二个月,一个班每周有六门课程等等。如果把这些量说明为整型,字符型或其它类型显然是不妥当的。为此,C语言提供了一种称为“枚举”的类型。在“枚举”类型的定义中列举出所有可能的取值,被说明为该“枚举”类...

2016-12-15 22:20:52

阅读数 435

评论数 0

http协议

HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的规范化工作正在进行之中,而且HTTP-NG(Next Generation...

2016-12-14 23:08:25

阅读数 154

评论数 0

C语言练习题1

char *getmemory(void) { char p[] = “hello world”; return p; } void test(void) { char *str = NULL; str = getmemory(); printf(“%s\n”,str);    ...

2016-12-13 22:25:09

阅读数 182

评论数 0

网络OSI和TCP/IP参考模型

1、四层,七层网络模型(以及每层对应的协议) 网络模型  对应协议

2016-12-12 23:48:05

阅读数 153

评论数 0

网关

网关 网关工作原理图概述网关(Gateway)又称网间连接器、协议转换器。网关在传输层上以实现网络互连,是最复杂的网络互连设备,仅用于两个高层协议不同的网络互连。网关既可以用于广域网互连,也可以用于局域网互连。 网关是一种充当转换重任的计算机系统或设备。在使用不同的通信协议、数据格式或语言,甚至体...

2016-12-11 22:39:36

阅读数 1149

评论数 0

什么是堆,栈,内存泄漏和内存溢出?

heap:是由malloc之类函数分配的空间所在地。地址是由低向高增长的。 stack:是自动分配变量,以及函数调用的时候所使用的一些空间。地址是由高向低减少的。 一、预备知识—程序的内存分配 一个由c/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编...

2016-12-10 23:36:56

阅读数 2811

评论数 2

TCP与UDP的区别

TCP和UDP是OSI模型中的运输层中的协议。TCP提供可靠的通信传输,而UDP则常被用于让广播和细节控制交给应用的通信传输。 UDP(User Datagram Protocol) UDP不提供复杂的控制机制,利用IP提供面向无连接的通信服务。并且它是将应用程序发来的数据在收到的那一...

2016-12-09 23:15:07

阅读数 217

评论数 0

什么是TCP三次握手?

TCP三次握手 所谓三次握手(Three-way Handshake),是指建立一个TCP连接时,需要客户端和服务器总共发送3个包。 三次握手的目的是连接服务器指定端口,建立TCP连接,并同步连接双方的序列号和确认号并交换 TCP 窗口大小信息.在socket编程中,客户端执行conn...

2016-12-08 22:23:24

阅读数 210

评论数 0

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