摘要: nul 和 null要看编译器,不同的编译器有所区别。一般而言 null(NULL)是宏定义 #define NULL ((void *)0),是一个指向地址0的指针,也就是说它是一个值为0的指针类型的数,这个宏是在头文件stddef.h文件里面定义的,你可以用#include <stddef.h>或者#include <stdlib.h>来使用它;nul(NUL)一般而言是指ASC码'\0'字符,十六进制值为0x00,这个在C语言的头文件里面没有被定义,你可以自己定义它 #define NUL '\0',一个字符串的最后一个字符就是’\ 阅读全文
posted @ 2013-04-20 16:53 米深 阅读(1080) 评论(0) 推荐(0) 编辑
摘要: volatile 影响编译器编译的结果,指出,volatile 变量是随时可能发生变化的,与volatile变量有关的运算,不要进行编译优化,以免出错,(VC++ 在产生release版可执行码时会进行编译优化,加volatile关键字的变量有关的运算,将不进行编译优化。)。例如:volatile int i=10;int j = i;...int k = i;volatile 告诉编译器i是随时可能发生变化的,每次使用它的时候必须从i的地址中读取,因而编译器生成的可执行码会重新从i的地址读取数据放在k中。而优化做法是,由于编译器发现两次从i读数据的代码之间的代码没有对i进行过操作,它会自动把 阅读全文
posted @ 2013-04-20 14:12 米深 阅读(334) 评论(0) 推荐(0) 编辑
摘要: exit(0):正常运行程序并退出程序;exit(1):非正常运行导致退出程序;return():返回函数,若在主函数中,则会退出函数并返回一值。详细说:1. return返回函数值,是关键字; exit 是一个函数。 2. return是语言级别的,它表示了调用堆栈的返回;而exit是系统调用级别的,它表示了一个进程的结束。 3. return是函数的退出(返回);exit是进程的退出。 4. return是C语言提供的,exit是操作系统提供的(或者函数库中给出的)。 5. return用于结束一个函数的执行,将函数的执行信息传出个其他调用函数使用;exit函数是退出应用程序,删除进程使用 阅读全文
posted @ 2013-04-15 10:43 米深 阅读(6271) 评论(0) 推荐(3) 编辑
摘要: assert宏的原型定义在<assert.h>中,其作用是如果它的条件返回错误,则终止程序执行,原型定义:#include <assert.h>void assert( int expression ); assert的作用是现计算表达式 expression ,如果其值为假(即为0),那么它先向stderr打印一条出错信息,然后通过调用 abort 来终止程序运行。请看下面的程序清单badptr.c:#include <stdio.h>#include <assert.h>#include <stdlib.h>int main( v 阅读全文
posted @ 2013-04-15 09:57 米深 阅读(232) 评论(0) 推荐(0) 编辑
摘要: PHP编程中经常需要用到一些服务器的一些资料,特把$_SERVER的详细参数整理下,方便以后使用。$_SERVER['PHP_SELF'] #当前正在执行脚本的文件名,与 document root相关。$_SERVER['argv'] #传递给该脚本的参数。$_SERVER['argc'] #包含传递给程序的命令行参数的个数(如果运行在命令行模式)。$_SERVER['GATEWAY_INTERFACE'] #服务器使用的 CGI 规范的版本。例如,“CGI/1.1”。$_SERVER['SERVER_NAME' 阅读全文
posted @ 2013-04-08 18:28 米深 阅读(98) 评论(0) 推荐(0) 编辑
只有注册用户登录后才能阅读该文。 阅读全文
posted @ 2013-03-31 14:39 米深 阅读(1) 评论(0) 推荐(0) 编辑