这个野指针不?为什么可以使用? [问题点数:20分,结帖人xwhbwas2008]

一键查看最优答案

确认一键查看最优答案?
本功能为VIP专享,开通VIP获取答案速率将提升10倍哦!
Bbs2
本版专家分:159
结帖率 99.26%
Bbs1
本版专家分:2
Bbs5
本版专家分:2136
Bbs4
本版专家分:1550
Bbs8
本版专家分:33509
Blank
黄花 2014年7月 C/C++大版内专家分月排行榜第二
2014年5月 C/C++大版内专家分月排行榜第二
Blank
蓝花 2014年10月 C/C++大版内专家分月排行榜第三
2014年4月 C/C++大版内专家分月排行榜第三
Bbs2
本版专家分:159
Bbs2
本版专家分:159
Bbs7
本版专家分:11474
Blank
黄花 2014年6月 C/C++大版内专家分月排行榜第二
Bbs1
本版专家分:10
Bbs6
本版专家分:9274
Bbs6
本版专家分:6818
版主
Blank
名人 2013年 荣获名人称号
Blank
探花 2011年 总版技术专家分年内排行榜第三
2010年 总版技术专家分年内排行榜第三
Blank
进士 2012年 总版技术专家分年内排行榜第五
Blank
金牌 2012年1月 总版技术专家分月排行榜第一
Bbs7
本版专家分:14566
Bbs2
本版专家分:159
Bbs2
本版专家分:159
Bbs2
本版专家分:159
Bbs2
本版专家分:193
Bbs7
本版专家分:14663
Bbs2
本版专家分:159
Bbs5
本版专家分:4504
Bbs2
本版专家分:439
Bbs2
本版专家分:439
Bbs7
本版专家分:11154
Blank
红花 2011年5月 C/C++大版内专家分月排行榜第一
Bbs1
本版专家分:14
Bbs1
本版专家分:10
Bbs5
本版专家分:2956
Bbs8
本版专家分:32868
版主
Blank
红花 2013年11月 Linux/Unix社区大版内专家分月排行榜第一
2013年11月 专题开发/技术/项目大版内专家分月排行榜第一
2013年9月 C/C++大版内专家分月排行榜第一
2013年9月 专题开发/技术/项目大版内专家分月排行榜第一
2013年8月 C/C++大版内专家分月排行榜第一
Blank
黄花 2013年12月 C/C++大版内专家分月排行榜第二
2013年12月 Linux/Unix社区大版内专家分月排行榜第二
2013年11月 C/C++大版内专家分月排行榜第二
2013年10月 C/C++大版内专家分月排行榜第二
Bbs2
本版专家分:179
Bbs4
本版专家分:1768
Bbs4
本版专家分:1112
Bbs9
本版专家分:56977
Blank
红花 2011年4月 C/C++大版内专家分月排行榜第一
Blank
蓝花 2012年8月 C/C++大版内专家分月排行榜第三
2012年7月 C/C++大版内专家分月排行榜第三
Bbs1
本版专家分:0
Bbs5
本版专家分:2446
Bbs1
本版专家分:71
Bbs4
本版专家分:1768
Bbs7
本版专家分:16923
Bbs3
本版专家分:524
Bbs2
本版专家分:171
Bbs1
本版专家分:68
Bbs4
本版专家分:1100
Bbs1
本版专家分:20
Bbs7
本版专家分:12107
Blank
蓝花 2011年12月 C/C++大版内专家分月排行榜第三
Bbs12
本版专家分:381949
Blank
状元 2017年 总版技术专家分年内排行榜第一
Blank
榜眼 2014年 总版技术专家分年内排行榜第二
Blank
探花 2013年 总版技术专家分年内排行榜第三
Blank
进士 2018年总版新获得的技术专家分排名前十
2012年 总版技术专家分年内排行榜第七
Bbs1
本版专家分:1
Bbs1
本版专家分:68
Bbs2
本版专家分:232
Bbs7
本版专家分:12107
Blank
蓝花 2011年12月 C/C++大版内专家分月排行榜第三
Bbs2
本版专家分:169
Bbs1
本版专家分:0
Bbs1
本版专家分:43
Bbs1
本版专家分:0
Bbs1
本版专家分:0
navicat 注册码,自己试过,可以的
NAVN-LNXG-XHHX-5NOO拿走,不谢。
navicat can not load oci dll,193,126
Navicat报193,126这两个错误是因为Navicat的版本和Oracle客户端的oci版本不一致,遇到这个坑也是第二次了,记录下。Navicat装的是x64版本的,oci用的是x86的就会出现了,所以我后面就把Navicat换成x86的就OK了,当然或者你把oracle的oci换成x64也行。这里提供下Navicat x86和Oracle x86的oci整个客户端套件。 下面附下Navi
Navicat11全系列激活(注册机)
http://www.cnblogs.com/JKayFeng/p/5937595.html 激活 Navicat是一款商业软件,所以他仅提供试用。 下面介绍一下通过注册机的方式激活Navicat 11 for Windows系列软件的方法。 工具:navicat注册机.7z 提取码:RZC9 1、 安装 Navicat 11 for Windows 系列原版程序。
指针是什么?悬空指针和野指针区别?
野<em>指针</em>是什么? 野<em>指针</em>:指向内存被释放的内存或者没有访问权限的内存的<em>指针</em>。 “野<em>指针</em>”的成因主要有3种: <em>指针</em>变量没有被初始化。任何<em>指针</em>变量刚被创建时不会自动成为NULL<em>指针</em>,它的缺省值是随机的。所以,<em>指针</em>变量在创建的同时应当被初始化,要么将<em>指针</em>设置为NULL,要么让它指向合法的内存。 <em>指针</em>p被free或者delete之后,没有置为NULL; <em>指针</em>操作超越了变量的作用范围。 为了避免出现野...
如何解决野指针的问题
在一个Frame里有一个函数,该函数想实现释放掉这个Frame,但是调用this->Free()或者delete this之后,虽然该实例被释放了,但是<em>指针</em>仍然指向垃圾内存,如何在Frame里令该<em>指针</em>
指针问题,为什么这样不能释放
倒数第二行,将分配的内存的<em>指针</em>赋值为NULL,为什么会报错呢?不解,环境:vs2013+win8 #define _CRT_SECURE_NO_WARNINGS #include #
干货 | JAVA代码引起的NATIVE野指针问题(下)
2019独角兽企业重金招聘Python工程师标准&gt;&gt;&gt; ...
c++ 调用野指针后的行为
class A{ public: int i; B* b; A(int _i)i(_i){} void test(){ i++; if(b)b->do_something(); } } int ma
指针(概念,产生原因,危害,避免方法)
思维导图: 1.野<em>指针</em>与垂悬<em>指针</em>的区别: 野<em>指针</em>:访问一个已销毁或者访问受限的内存区域的<em>指针</em>,野<em>指针</em>不能判断是否为NULL来避免 垂悬<em>指针</em>:<em>指针</em>正常初始化,曾指向一个对象,该对象被销毁了,但是<em>指针</em>未制空,那么就成了悬空<em>指针</em>。 2.概念 <em>指针</em>指向了一块随机的空间,不受程序控制。 3.野<em>指针</em>产生的原因: 1.<em>指针</em>定义时未被初始化:<em>指针</em>在被定义的时候,如果程序不对其进行初始化的话,它会随机指向一个区...
C语言中的野指针问题
C语言中的野<em>指针</em>问题一、野<em>指针</em>       1、<em>指针</em>变量中的值是非法内存地址,进而形成野<em>指针</em>       2、野<em>指针</em>不是NULL<em>指针</em>,是指向不可用内存地址的<em>指针</em>       3、NULL<em>指针</em>并无危害,很好判断,也很好调试       4、C语言中无法判断一个<em>指针</em>所保存的地址是否合法二、野<em>指针</em>由来      1、局部<em>指针</em>变量没有初始化      2、<em>指针</em>所指向的变量在<em>指针</em>之前被销毁      3、使...
【C++进阶】C++中的空指针和野指针
空<em>指针</em>常量,空<em>指针</em>,空<em>指针</em>赋值区以及野<em>指针</em>及其形成原因
指针概念
“野<em>指针</em>”不是NULL<em>指针</em>,是指向“垃圾”内存的<em>指针</em>。人们一般不会错用NULL<em>指针</em>,因为 用if语句很容易判断。但是“野<em>指针</em>”是很危险的,if语句对它不起作用。 “野<em>指针</em>”的成因主要有两种: (1)<em>指针</em>变量没有被初始化。任何<em>指针</em>变量刚被创建时不会自动成为NULL<em>指针</em>,它的缺省值是随机的,它会乱指一气。所以,<em>指针</em>变量在创建的同时应当被初始化,要么将<em>指针</em>设置为NULL,要么让它
什么是野指针
这里面的NULL指的是空<em>指针</em> ,不指向任何单元,仅仅表示初始化 ;4.4.1 野<em>指针</em>野<em>指针</em>出现的现象 :1. 定义了以后 ,没有给地址赋值 ;2. 地址释放了以后 ,<em>指针</em>没有指NULL; 避免野<em>指针</em> :1.定义的时候 =NULL;<em>使用</em>前赋值;2. 释放的时候 ;free(p);                     p=NULL; 3. assert(NULL !=p)------函数的入口处 ...
指针总结
1. 定义 “野<em>指针</em>”不是 NULL <em>指针</em>,是指向“垃圾”内存的<em>指针</em>。人们一般不会错 用 NULL <em>指针</em>,因为用 if 语句很容易判断。但是“野<em>指针</em>”是很危险的,if 语 句对它不起作用。 2. 成因 “野<em>指针</em>”的成因主要有两种:  (1) <em>指针</em>变量没有被初始化。 任何<em>指针</em>变量刚被创建时不会自动成为 NULL <em>指针</em>, 它的缺省值是随机的,它会乱指一气。所以,指
悬空指针(Dangling pointer)避免方法
什么是悬空<em>指针</em>? 一个<em>指针</em>所指的内存被释放后,这个<em>指针</em>就被悬空了。 悬空<em>指针</em>的危害? 访问悬空<em>指针</em>,结果随机。可能导致程序功能不正常,也可能导致程序崩溃。如果受到影响的是其它功能,问题通常很难定位。 如何避免悬空<em>指针</em>? 基本思路:在释放一块内存时,将指向这块内存的<em>指针</em>变量设置为NULL。访问<em>指针</em>变量前,先判断是否为NULL。 进阶:当有多个<em>指针</em>变量都指向同一块内存时,释放这块内存时,需...
谈谈你对野指针的理解?
谈谈你对野<em>指针</em>的理解?   野<em>指针</em>不是NULL<em>指针</em>,是指向“垃圾”内存的<em>指针</em>。即它是随机指向的,系统自动对其初始化。   野<em>指针</em>会造成什么样的后果呢? 最大的问题:它会导致内存泄漏。   什么叫作内存泄漏? 指由于疏忽或错误造成程序未能释放已经不再<em>使用</em>的内存的情况。内存泄漏并非指内存在物理上的消失,而是程序分配某段内存后,由于设计错误,失去了对该段内存的控制,因而造成了内存的浪费。
这样会造成野指针么?
class obj { private: int a; public: obj() { a=10; } obj(int x):a(x) {} }; void temp() { obj* p1=new
关于野指针的一些问题与总结
void Test(void){char *str = (char *) malloc(100);strcpy(str, “hello”);free(str);    if(str != NULL){  strcpy(str, “world”);  printf(str);} 请问运行Test函数会有什么样的结果?答:篡改动态内存区的内容,后果难以预料,非常危险。因为free(str);之后,st...
指针及c++指针使用注意点
https://www.cnblogs.com/mrlsx/p/5419030.html 避免野<em>指针</em>的产生 “野<em>指针</em>”的成因主要有: 1)<em>指针</em>变量没有被初始化。任何<em>指针</em>变量刚被创建时不会自动成为NULL<em>指针</em>,它的缺省值是随机的,它会乱指一气。所以,<em>指针</em>变量在创建的同时应当被初始化,要么将<em>指针</em>设置为NULL,要么让它指向合法的内存。 char *p; //此时p为野<em>指针</em>   2)<em>指针</em>p...
指针错误实例
野<em>指针</em>,也就是指向不可用内存区域的<em>指针</em>。通常对这种<em>指针</em>进行操作的话,将会使程序发生不可预知的错误。 这是野<em>指针</em>的定义,但很多C语言新手对它还是很陌生,下面我就简单举一个例子来看一看。在VC6.0中输入以下代码: #include #include void main() { char *p; //...可能有别的很多操作 if(p != NULL) {
这是野指针
#include 2 p(int *e) 3 { 4 *e=3; 5 } 6 main() 7 { 8 int *a=NULL; 9 p(a); 10 printf("%d",*a)
预防野指针的几种方法
野<em>指针</em>,又称迷途<em>指针</em>,即指向“垃圾”内存的<em>指针</em>。此时<em>指针</em>指向的内存已被操作系统回收,程序已无法再访问。
free 与 delete 区别
1. delete 用于释放 new 分配的空间,free 有用释放 malloc 分配的空间 2. delete [] 用于释放 new [] 分配的空间 3. delete 释放空间的时候会调用 相应对象的析构函数      顺便说一下new在分配空间的时候同时会调用对象的构造函数,对对象进行初始化,<em>使用</em>malloc则只是分配内存 4. 调用free 之前需要检查 需要释放的<em>指针</em>是否为
指针产生原因及解决办法
情况一原因 <em>指针</em>变量声明时没有被初始化。解决办法 <em>指针</em>声明时初始化,可以是具体的地址值,也可让它指向NULL。情况二原因 <em>指针</em> p 被 free 或者 delete 之后,没有置为 NULL。解决办法 <em>指针</em>指向的内存空间被释放后<em>指针</em>应该指向NULL。情况三原因 <em>指针</em>操作超越了变量的作用范
指针和空指针
Person *p = [[Person alloc] init]; /* 只要一个对象被释放了,我们就称这个对象为“僵尸对象” 当一个<em>指针</em>指向一个僵尸对象,我们就称这个<em>指针</em>为“野<em>指针</em>” 只要给一个野<em>指针</em>发送消息就会报错 */ [p release]; // 1-1=0 /* 空<em>指针</em> nil 0
面试-野指针,悬挂指针
首先说明一点: 指向非法的内存地址(垃圾内存的地址),那么这个<em>指针</em>就是悬挂<em>指针</em>,也叫野<em>指针</em>,意为无法正常<em>使用</em>的<em>指针</em>。 野<em>指针</em>(悬挂<em>指针</em>): 野<em>指针</em>是指向不可用内存区域的<em>指针</em>(非法内存,垃圾内存)。野<em>指针</em>不是NULL<em>指针</em>,是指向“垃圾”内存的<em>指针</em>。人们一般不会错用NULL<em>指针</em>,因为if语句能够判断。但是野<em>指针</em>是很危险的,if不能判断一个<em>指针</em>是正常<em>指针</em>还是野<em>指针</em>。 野指
什么是野指针和内存泄漏?如何避免野指针
内存泄漏:①访问已经释放的内存     ②访问没有权限的内存 野<em>指针</em>:指向内存被释放的内存或者没有访问权限的内存的<em>指针</em>。 “野<em>指针</em>”的成因主要有3种: (1)<em>指针</em>变量没有被初始化。任何<em>指针</em>变量刚被创建时不会自动成为NULL<em>指针</em>,它的缺省值是随机的,它会乱指一气。所以,<em>指针</em>变量在创建的同时应当被初始化,要么将<em>指针</em>设置为NULL,要么让它指向合法的内存。例如 char *
指针及其有效的避免方法
野<em>指针</em>的生成及其产生的原因 一,指向不确定地址的<em>指针</em>变量。(即没有初始化)<em>使用</em>野<em>指针</em>易因内存泄露出现段错误。而造成内存泄露的原因有两个: 1,访问了没有权限的内存,如果正确<em>使用</em><em>指针</em>,系统会给<em>指针</em>分配相应的内存空间, 如果<em>指针</em>指向了的内存不是系统分配的,则判定为没有权限。 2,访问了已经释放的内存。 二,<em>指针</em>p被free或者delete之后,没有置为NULL,让人误以为p是个合法的<em>指针</em>。 ...
【linux c】什么是野指针以及如何避免野指针_学习笔记_010
1.首先以一个示例来认识野<em>指针</em>: #include int main() { int * p; scanf("%d", p); printf("%d\n", * p); return 0; } 该段程序编译并未报任何错误,而运行之后,输入具体值后,报段错误: 2 段错误   为什么会出现段错误? 因为此处定义了一个局部变量
指针,野指针,空指针,赋值?
bug中最可怕的是野<em>指针</em>,那么问题来了,野<em>指针</em>是什么?是如何产生的?为什么程序员会“忘记”? 昨天调试时,我发现了一个野<em>指针</em>,由此我明白了。 a的值成了乱码,而且gcc编译器并没有报错,那么请看下面的代码 #include int fun(int *a) { int i; *a=0;//添加的代码 for(i=0;i<10;i++) (*a)++; return
悬挂指针与野指针
悬挂<em>指针</em>/Dangling Pointers/迷途<em>指针</em>/悬垂<em>指针</em> 野<em>指针</em>/Wild Pointers
什么是野指针?野指针的危害?如何避免野指针
什么是野<em>指针</em>? 野<em>指针</em>是指随机指向一块内存的<em>指针</em> 野<em>指针</em>的危害? 野<em>指针</em>可能会造成内存泄露的危害。(注意:野<em>指针</em>不会一定造成内存泄露,如果该野<em>指针</em>指向的内存刚好是某个变量的地址,那么野<em>指针</em>也能<em>使用</em>这块内存) 如何避免野<em>指针</em>? 我们要在以后养成良好的编码习惯: 1.将没有指向的<em>指针</em>初始化指向NULL(指向NULL的<em>指针</em>不能对他的指向进行修改) 2.当想给一个<em>指针</em>指向的空间赋值时,一定要
指针:释放内存但却仍然使用它,将导致野指针
/************ 野<em>指针</em>:释放内存但却仍然<em>使用</em>它,将导致野<em>指针</em> *************/ /* 例子:输入一个不带空格的字符串显示在屏幕上 */ #include char *GetStr(void) {     char s[80];     scanf("%s",s);     //printf("s = %p\n",s);        //打印返
C++内存泄漏及解决方法
1.首先说到c++内存泄漏时要知道它的含义? 内存泄漏(memory leak)是指由于疏忽或错误造成了程序未能释放掉不再<em>使用</em>的内存的情况。内存泄漏并非指内存在物理上的消失,而是应用程序分配某段内存后,由于设计错误,失去了对该段内存的控制,因而造成了内存的浪费。 2.内存泄漏的后果?  最难捉摸也最难检测到的错误之一是内存泄漏,即未能正确释放以前分配的内存的 bug。 只发生一次的小的内
block野指针的产生
说到野<em>指针</em>,我们先来看一下野<em>指针</em>的定义:野<em>指针</em>: C语言: 当我们声明1个<em>指针</em>变量,没有为这个<em>指针</em>变量赋初始值.这个<em>指针</em>变量的值是1个垃圾指 指向1块随机的内存空间。 OC语言: <em>指针</em>指向的对象已经被回收掉了.这个<em>指针</em>就叫做野<em>指针</em>.block传值我们经常会用到。但是有些时候接收方。直接通过类初始化。就会产生野<em>指针</em>。我们来看个例子: 发送方:ProgramViewController.m
C++数独求解器与生成器
用C++写的数独求解器与生成器。
win7 64位详细安装oracle详细方法下载
win7 64位详细安装oracle详细方法 安装了我一天 中间有走很多弯路 现在给出详细方法 希望能报到需要帮助的人 相关下载链接:[url=//download.csdn.net/download/peng658890/4387691?utm_source=bbsseo]//download.csdn.net/download/peng658890/4387691?utm_source=bbsseo[/url]
二级C++学习资料包下载
包括各年的真题和模拟题,能帮助你学习C++,希望对你有帮助。 相关下载链接:[url=//download.csdn.net/download/u010045240/5184569?utm_source=bbsseo]//download.csdn.net/download/u010045240/5184569?utm_source=bbsseo[/url]
美化菜单的VB控件下载
美化菜单的VB控件(已经破解) 相关下载链接:[url=//download.csdn.net/download/wtxpwh/193157?utm_source=bbsseo]//download.csdn.net/download/wtxpwh/193157?utm_source=bbsseo[/url]
相关热词 c# mvc 上传 文件 c#扫描软件 c# 文字打印左右反转 c#byte转换成数字 c# 音量调节组件 c# wpf 界面 c# 读取证书文件的内容 c# 单例模式 工厂模式 c# dgv 树结构 c#继承 反序列化
我们是很有底线的