摘要: 1.const的用法:为什么使用const? 采用符号常量写出的代码更容易维护;指针常常是边读边移动,而不是边写边移动;许多函数参数是只读不写的。const最常见用途是作为数组的界和switch分情况标号(也可以用枚举符代替)用法1:常量 取代了C中的宏定义,声明时必须进行初始化。const限制了常量的使用方式,并没有描述常量应该如何分配。如果编译器知道了某const的所有使用,它甚至可以不为该const分配空间。最简单的常见情况就是常量的值在编译时已知,而且不需要分配存储。―《C++ Program Language》用const声明的变量虽然增加了分配空间,但是可以保证类型安全。 C标准中 阅读全文
posted @ 2013-10-20 16:24 龙行江湖 阅读(995) 评论(3) 推荐(0)
摘要: 1.先来介绍它的第一条也是最重要的一条:隐藏 当我们同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性。为理解这句话,我举例来说明。我们要同时编译两个源文件,一个是a.c,另一个是main.c.下面是a.c的内容: char a = 'A'; // global variable void msg() { printf("Hello\n"); } 下面是main.c的内容: int main(void) { exte... 阅读全文
posted @ 2013-10-20 16:13 龙行江湖 阅读(383) 评论(0) 推荐(0)
摘要: 函数严重性解决方案gets最危险使用fgets(buf,size,stdin)。这几乎总是一个大问题!strcpy很危险改为使用strncpy。strcat很危险改为使用strncat。sprintf很危险改为使用snprintf,或者使用精度说明符。scanf很危险使用精度说明符,或自己进行解析。sscanf很危险使用精度说明符,或自己进行解析。fscanf很危险使用精度说明符,或自己进行解析。vfscanf很危险使用精度说明符,或自己进行解析。vsprintf很危险改为使用vsnprintf,或者使用精度说明符。vscanf很危险使用精度说明符,或自己进行解析。vsscanf很危险使用精度 阅读全文
posted @ 2013-10-20 15:46 龙行江湖 阅读(1215) 评论(0) 推荐(0)
摘要: # 管道( pipe ):管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用。进程的亲缘关系通常是指父子进程关系。# 有名管道 (named pipe) : 有名管道也是半双工的通信方式,但是它允许无亲缘关系进程间的通信。# 信号量( semophore ) : 信号量是一个计数器,可以用来控制多个进程对共享资源的访问。它常作为一种锁机制,防止某进程正在访问共享资源时,其他进程也访问该资源。因此,主要作为进程间以及同一进程内不同线程之间的同步手段。# 消息队列( message queue ) : 消息队列是由消息的链表,存放在内核中并由消息队列标识符标识。消息队 阅读全文
posted @ 2013-10-20 15:42 龙行江湖 阅读(152) 评论(0) 推荐(0)
摘要: Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE。URL全称是资源描述符,我们可以这样认为:一个URL地址,它用于描述一个网络上的资源,而HTTP中的GET,POST,PUT,DELETE就对应着对这个资源的查,改,增,删4个操作。到这里,大家应该有个大概的了解了,GET一般用于获取/查询资源信息,而POST一般用于更新资源信息。 1.根据HTTP规范,GET用于信息获取,而且应该是安全的和幂等的。 (1).所谓安全的意味着该操作用于获取信息而非修改信息。换句话说,GET 请求一般不应产生副作用。就是说,它仅仅是获取资源信息,就像数据库.. 阅读全文
posted @ 2013-10-20 15:41 龙行江湖 阅读(174) 评论(0) 推荐(0)
摘要: 二者的定义:当你在浏览网站的时候,WEB 服务器会先送一小小资料放在你的计算机上,Cookie 会帮你在网站上所打的文字或是一些选择,都纪录下来。当下次你再光临同一个网站,WEB 服务器会先看看有没有它上次留下的 Cookie 资料,有的话,就会依据 Cookie里的内容来判断使用者,送出特定的网页内容给你。 Cookie 的使用很普遍,许多有提供个人化服务的网站,都是利用 Cookie来辨认使用者,以方便送出使用者量身定做的内容,像是 Web 接口的免费 email 网站,都要用到 Cookie。具体来说cookie机制采用的是在客户端保持状态的方案,而session机制采用的是在服务器端保 阅读全文
posted @ 2013-10-20 15:36 龙行江湖 阅读(178) 评论(0) 推荐(0)
摘要: “正则表达式”描述在搜索文本正文时要匹配的一个或多个字符串。该表达式可用作一个将字符模式与要搜索的字符串相匹配的模板。正则表达式包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为“元字符”)。特殊字符下表包含了单字符元字符的列表以及它们在正则表达式中的行为。说明若要匹配这些特殊字符之一,必须首先转义字符,即,在字符前面加反斜杠字符 (\)。例如,若要搜索“+”文本字符,可使用表达式“\+”。元字符行为示例*零次或多次匹配前面的字符或子表达式。等效于{0,}。zo*与“z”和“zoo”匹配。+一次或多次匹配前面的字符或子表达式。等效于{1,}。zo+与“zo”和“zoo”匹配,但与“z 阅读全文
posted @ 2013-10-20 15:25 龙行江湖 阅读(474) 评论(0) 推荐(0)
摘要: 一、typedef的用法在C/C++语言中,typedef常用来定义一个标识符及关键字的别名,它是语言编译过程的一部分,但它并不实际分配内存空间,实例像:typedef int INT;typedef int ARRAY[10];typedef (int*) pINT;typedef可以增强程序的可读性,以及标识符的灵活性,但它也有“非直观性”等缺点。二、#define的用法#define为一宏定义语句,通常用它来定义常量(包括无参量与带参量),以及用来实现那些“表面似和善、背后一长串”的宏,它本身并不在编译过程中进行,而是在这之前(预处理过程)就已经完成了,但也因此难以发现潜在的错误及其它代 阅读全文
posted @ 2013-10-20 15:17 龙行江湖 阅读(227) 评论(0) 推荐(0)