06 2013 档案

摘要:悬空指针在C/C++等语言中,悬空指针(Dangling Pointer)指的是:一个指针的指向对象已被删除,那么就成了悬空指针。野指针是那些未初始化的指针。例如:int main(){char*dp = NULL;for(i=0;i<1;i++) {char c;dp =&c;}/* 注意c的声明周期 ,c属于自动存储类的变量,c变量具有自动存储时期,代码块作用域,空连接三个特征,自动存储时期指:在程序进入定义c变量的代码块时,将为这些变量分配内存;当退出这个代码块时,分配的内存将被释放。因此,程序运行离开了c变量的作用域,c数据对象会销毁,而dp还存储了已经不存在的c数据对象 阅读全文
posted @ 2013-06-20 12:32 创新突破游子恒心 阅读(404) 评论(0) 推荐(0)
摘要:NULL字符在ASCII码的第一个字符是NULL,它的数值是0,占用1字节;C语言把它作为字符串的最后一个字符,以表示字符串到此结束."\0"NULL指针在C语言的头文件stddef.h中,NULL的定义如下:#define NULL#define __cplusplus#define NULL 0#else#define NULL ((void *)0)#endif#endif#interface NULL 0可见,NULL指针是一个无类型指针,并且值为0。一个指针,拥有2个属性--地址值和指针类型。两者的作用是:1,地址值标识变量的首地址(32位系统下指针的地址值占4字 阅读全文
posted @ 2013-06-20 12:06 创新突破游子恒心 阅读(739) 评论(0) 推荐(0)
摘要:情况一:具有代码块作用于的变量#include <stdio.h>void max(int i );int main(void){ for( int i=0;i<10;i++) { int b=0; continue; } //c99把代码块的概念扩大到for循环.while循环.do while循环或者if语句所控制的代码 //即是这些代码没有用花括号括起来。因此在签署for循环中的变量i被认为是for循环代码块中的 //一部分。这样它的作用域就限于这个for循环,程序离开for循环后就不能看见变量i了。 //但是这里不是不是c99的代码块的概念。所以变量i的作用域是从i定 阅读全文
posted @ 2013-06-06 21:54 创新突破游子恒心 阅读(179) 评论(0) 推荐(0)