typedef 的用法
*****以下是参考部分***** 此部分参考自:http://blog.sina.com.cn/u/572f7666010008dm 用途一: 定义一种类型的别名,而不只是简单的宏替换。可以用作同时声明指针型的多个对象。比如: char* pa, pb; // 这多数不符合我们的意图,它只声明了一个指向字符变量的指针, // 和一个字符变量; 以下则可行: typedef char* PCHAR; PCHAR pa, pb; 用途二: 用在旧的C代码中,帮...
作者: benxiong 发布时间: 10-28
内连接与外连接<C/C++>
在标准C语言中,const符号常是默认是外连接的即(分配存储),也就是说你不能在两个(或两个以上)编译单元中同时定义一个同名的const符号常量(重复定义错误),或者把一个const符号常量定义放在一个头文件中而在多个编译单元中同时包含该头文件。 但是在标准C++中,const符号常量默认是内连接的。因此可以定义在头文件中,当在不同的编译单元中同时包含该头文件时,编译器...
作者: aaron_xueli 发布时间: 10-28
线性表-类型定义
线性表(linear_list): 说线性表之前,先要解释一下线性的概念。 所谓的线性结构的特点是: (前提是在数据元素的非空有限集中,即必须要有数据元素) (1)有且仅有一个节点没有前驱节点,可以称为根节点; (2)有且仅有一个节点没有后继节点,可以称为叶子节点; (3)除上述两种情况外,其他的数据元素均只有一个前驱节点和一个后继节点。 e.g. 我们定义一个数组a[10]...
作者: licong0527 发布时间: 10-27
socket的一些基本结构
一.socket的一些基本结构 1.32位的IP地址: struct in_addr { unsigned long s_addr; } 2.TCP/IP所在的网际通信域使用的套接字地址格式: struct sockaddr_in { short int sin_family; //表示所属地址簇,TCP/IP必须是AF_INET unsigned short int sin_port; //表示端口号 struct in_addr sin_addr; //表示32位的IP地址,用in_addr结构表示 unsigned char sin_zero[8]; //...
作者: ricky_pc 发布时间: 10-27
effective c++读书笔记
0.导读: 0.1 什么是声明(declaration)? 告诉编译器某个东西的名称和类型(type),但略去细节。 什么是定义式(definition)? 对对象而言,定义式是编译器为此对象拨发内存的起点。 0.2 c和c++ c++继承自c的符号(eg:size_t),可能在global,也可能在std名空间中,或者二者都在,取决于哪个头文件被含入。 0.3 c++构造函数: 讲解构造函数好文章: http://ticktick.blog.51cto.co...
作者: bellcat2008 发布时间: 10-27
深入了解 C++ 虚函数表
C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的 成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技 术,RTTI技术,虚函数技术,要么是试图做到在编译时决议,要么试图做到运行时决议...
作者: aaron_xueli 发布时间: 10-26
C 文件系统编程
#include <stdlib.h> #include <stdio.h> #include <unistd.h> #include <string.h> #include <error.h> #include <fcntl.h> #include <sys/types.h> #include <sys/stat.h> #define Name 16 #define Num 32 struct student { unsigned int id; char name[Name]; }; int main(int argc, char **argv) { int fd,id; struct student std; char name[Name]; if(argc!=2) { prin...
作者: luozhiyong131 发布时间: 10-26
双链表
在一个双链表中,每个节点都包含两个指针————指向前一个节点的指针(前驱节点)和指向后一个节点的指针(后继节点)。可以以任何方向遍历双链表,甚至可以忽前忽后地在双链表中访问。 节点类型声明: type struct NODE { int value; struct NODE *fwd; struct NODE *bwd; }Node;
作者: liurhyme 发布时间: 10-26
递归取目录下所有文件名与路径
#include <unistd.h> #include <stdio.h> #include <dirent.h> #include <string.h> #include <sys/stat.h> #include <stdlib.h> void printdir(char* dir, int depth) { DIR *dp; struct dirent *entry; struct stat statbuf; if( (dp = opendir(dir)) == NULL ) { fprintf(stderr, "cannot open directory: %s\n", dir); return; } chdir(dir); while( (entry = readdir(d...
作者: hjjie2006 发布时间: 10-26
有向图的强连通分支以及最小点基
最近一直在研究图论的一些算法,前几天主要做了 割点,桥,有向图的强连通分支,无向图的重连通分支,重连通图的构造等等。这些算法都有一个相同的特点,就是都运用基于强大的DFS的Tarjan算法来实现的。核心就是围绕计算以及比较dfn和low两个向量,各自只有些细微的差别而已。 今天下午在做有向图的最小点基的时候才发现自己之前的有向图的强连通分支的算法有问题,Debug之...
作者: kaiserhui 发布时间: 10-25