- 博客(6)
- 资源 (1)
- 收藏
- 关注
原创 函数指针、指针数组与数组指针
指针数组:首先它是一个数组,数组的元素都是指针,数组占多少个字节由数组本身决定。 数组指针:首先它是一个指针,它指向一个数组,在32位系统下永远占4个字节。 函数指针: A. int *p1[10]; [ ]的优先级高于*,p1先与[ ]结合,构成一个数组的定义,数组名为p1,int * 修饰的是数组的内容,即数组的每个元素。 B. int (*p2)[10]; (
2011-11-24 21:56:22 389 1
原创 valatile用法
volatile是一种类型修饰符,用它修饰的变量表示可以被某些编译器未知的因素更改,比如操作系统,硬件或者其他线程等。 遇到这个关键字声明的变量,编译器对访问改变量的代码就不再进行优化,从而可以提供对特殊地址的稳定稳定。 volatile int 10; int j=i; int k=i; volatile告诉编译器i是随时可能发生变化的,每次使用
2011-11-24 19:57:01 393
原创 Unix进程环境
1. 缓存 a. 全缓存 当填满标准I / O缓存后才进行实际I / O操作 b.行缓存 当在输入和输出中遇到新行符时,标准I / O库执行I / O操作 2. printf返回值表示成功输入的字符个数,返回0表示没有输出任何字符。 Unix进程环境 1. int main(int a rg c, char * a rg v[ ] ) argc 是
2011-11-16 18:50:12 243
原创 static关键字的使用
1. static a. 静态全局变量:作用域仅限于变量被定义的文件中。 b. 静态局部变量: 在函数体里面定义的,就只能在这个函数里用,由于被static修饰的变量总是存在内存的静态区,所以即使 这个函数运行结束,这个静态变量的值还是不会被销毁,函数下次使用时仍然能用到这个值。 例1: #incl
2011-11-16 18:49:29 300
原创 BT协议各种消息
1. 客户端与一个peer建立TCP连接后,首先向peer发送握手消息,peer收到握手消息后回应一个握手消息。 l 握手消息是一个长度固定为68字节的消息。消息的格式如下: 消息格式中一些参数的含义如表13-9所示。 表13-9 握手消息
2011-11-05 15:35:32 1877 1
原创 Peer管理模块的设计和实现
系统为每个与之建立TCP连接的Peer构造一个Peer结构体。Peer管理模块负责管理由各个Peer结点构成的Peer链表,主要工作是创建结点, 添加结点到Peer链表,从Peer链表删除结点等。 Peer结构体中定义了7种状态,分别是: 1. Halfshaked(半握手状态):已经发送握手消息但未收到对方的握手消息,或已经接受到对方的握手消息,但已方未发送握手消息。
2011-11-04 17:05:06 479
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人