问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

c++动态内存指针的问题?

发布网友 发布时间:2022-05-02 15:37

我来回答

4个回答

热心网友 时间:2022-06-20 16:55

delete p仅释放p指向的内存空间,但p的值没变,p也就成了常说的野指针。
delete p后,如果还要用到p,必须p=null或赋其他值

热心网友 时间:2022-06-20 16:56

要解决这个问题,就要弄懂指针

内存那种每个字节都有一个唯一的地址,变量存在内存中自然就会有一个地址。

指针也是一个变量,里面存着一个地址,就是直接输出指针输出的那些(cout<<p);这个地址的位置也存着一些东西,就是加上取值符输出的(cout<<*p)

还要弄懂delete的过程

编译器只是告诉自己,这个地址的位置可以放其他东西了。

但这里的东西没有被清理掉,这阵里存的地址也没有被清理掉,你再输出时,仍然可以找到那个东西;

BUT:

有些编译器为了在因此而出现错误时,你能更快地发现错误,在delete后会更改指针里存的地址,或那个地址的位置存的东西。

这些有关底层实现的东西,如果想彻底弄懂,建议简单学一下计算机基础或汇编

热心网友 时间:2022-06-20 16:56

用delete释放掉指针p后就不允许在用p了,如果在用那是非常危险的事情,P会变成野指针,在用的话应该重新用new申请内存空间。

热心网友 时间:2022-06-20 16:57

delete函数理论上是释放内存空间并且xigounew 但是你用while 所以p被占用
delete不会被执行。
C语言动态内存分配的疑问

1、你关于一维数组和指针是理解正确了,但二维(指针的指针)理解还不到位,需要再多看书。例如字符指针是 char *str 定义的,这是一维的指针,指针是变量,指针变量里面存储的是字符串的起始地址。而二维的指针,即指针的指针,是定义了又一个指针,指向的是指针变量,例如 char **str 的意思是:...

C语言动态内存函数分配问题

你的问题是刚刚学习指针的人都有的问题,需要从地址来认识这个问题,C语言的数据都是需要申请空间来存放的,有静态和动态两种,动态分配的空间大小可以按需要分配,并且可以回收,静态是不可以回收的。首先,分配动态的空间,指针P和空间的首地址是没有直接的联系的,只是为了手续要使用这个刚刚分配的空间才...

C语言为字符指针(char*)分配动态内存空间(malloc),为什么空间不发生变 ...

char*是指针,你获取指针(地址)的长度,32位机器当然是4。C语言malloc分配出来的内存是不能通过sizeof获取长度的。

C语言结构体数组动态内存分配的问题?

realloc调用需要两个参数。另外,函数返回的结果,需要检测才能使用。如果realloc申请内存失败,会返回null

为何指针变量分配动态空间后,其指向的变量可以直接当数组用??

指针:可以没有类型。void的时候,算是没有类型,没有给出单元的大小,虽然void某种程度上是一种类型。可以指向动态内存。指针所指向的未必是动态内存,但可以是动态内存。动态内存是在堆里面分配的,一般是用malloc,calloc,或者realloc,来分配。动态内存是需要用free()来释放的,静态内存一定不要用free(...

...为什么一运行就出现"ox0040254e"指令引用的"ox00427020"内存...

二、应用程序由于自身BUG引用了不正常的内存指针 在使用动态分配的应用程序中,有时会有这样的情况出现:程序试图读写一块“应该可用”的内存,但不知为什么,这个预料中可用的指针已经失效了。有可能是“忘记了”向操作系统要求分配,也可能是程序自己在某个时候已经注销了这块内存而“没有留意”等等。注销了的内存被...

C语言中的动态内存分配的用法举例

1、malloc函数:其作用是在内存的动态存储区中分配一个长度为size的连续空间。其参数是一个无符号整形数,返回值是一个指向所分配的连续存储域的起始地址的指针。2、free函数:由于内存区域总是有限的,不能不限制地分配下去,而且一个程序要尽量节省资源,所以当所分配的内存区域不用时,就要释放它,...

0x000009c的错误状态而无法将请求数据放入内存

【勾好】,应用,确定看看效果。如果你是因为应用程序没有检查内存分配失败,或者应用程序由于自身BUG引用了不正常的内存指针,或者是系统中了木马或病毒,或者是浏览器打开出现的问题,最管用的一招就是: 开始→运行→输入cmd→回车,在命令提示符下输入下面命令for %1 in (%windir%\system32\*.dll)...

出现“0x031731c9”指令引用的”0x0000001f"内存。该内存不能为“read...

假如你是双内存,而且是不同品牌的内存条混插或者买了二手内存时,出现这个问题,这时,你就要检查是不是内存出问题了或者和其它硬件不兼容。 4、微软WINDOWS系统的漏洞,windows把内存地址0X00000000到0X0000ffff指定为分配null指针的地址范围,如果程序试图访问这一地址,则认为是错误。c/c++编写的程序通常不进行严格的错误...

c语言为什么要关心和内存申请和释放,感觉不管也没什么问题啊?

C 语言的这种手动管理内存的特性,意味着程序员必须对内存的生命周期和使用负责,这也是 C 语言的一个核心特点。如果不加以控制,内存问题会让程序非常不稳定。如何正确管理内存 及时释放内存:在用完动态分配的内存之后,及时调用 free() 来释放内存。避免悬空指针:释放内存之后,将指针置为 NULL,以防止...

c的指针 c语言中指针的定义 c++ 指针 c 语言指针 错误的指针 c需要指针 c和指针有必要看么 c加加指针 c函数指针
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
在液压原理图中各种符号的表示意义是什么? 脚臭怎么办,一脱鞋,那味道我自己都受不了? ...经电加热后表面会形成一层黑色物质,请问是什么东西?用什么化学... 宿舍老是经常出现蚂蚁,放久的书本打开全是蚂蚁,或是布柜里放久的衣服... 为什么寝室地板上会有蚂蚁? 怎么计算产值excel 青春不再伤感经典句子(《青春伤感经典短句子》) 致我们失去的青春简短说说(怀念过去的经典句子) 分享回忆过去致青春的语录集锦(回忆的句子时光感言简短) 女生为什么总想摸我的脸 为指针变量动态分配一个空间,释放后为什么还可以给指针所指向的空间的那个变量赋值? ABAP中动态指针如何实现呀,怎么感觉和变量的原理差不多! 请提供个动态指针的例子! c语言中如何定义动态指针数组 关于c语言动态指针相关问题? c语言如何实现动态指针 指针与动态指针的区别 【求助】动态指针 静态指针 长期股权投资后续计量使用方法的判断 有限合伙人对股份怎么后续计量? 长期股权投资的成本初始和后续计量问题!!! 长期股权投资的初始计量和后续计量怎么确认? 长期股权投资的后续计量 长期股权投资初始计量和后续计量 关于长期股权投资及后续计量问题? 平板电脑买多大寸好?我拿来玩游戏看电影的 平板电脑买多少寸的才好 决定买联想平板电脑,买多少英寸的看电影最合适? 小米手机没声音怎么办? 平板电脑买多大英寸的合适?? 怎么苹果商店变英文了?下东西也下不到 C语言关于动态内存 指针 C语言在A函数内部定义动态指针,如何通过形参实参传递到B函数进行分配? 求:pascal动态指针类型 dispose的用法? 最近因为戴口罩脸上发炎,长痘,抹点什么好啊? 怎么动态分配指针数组 动态指针 要return 需要删除吗 c++ 求助,关于动态指针数组的内存释放问题 大神们!如何定义一个动态指针数组,用来储存几组数字 如何动态创建一个指针数组 华为nova7的sim卡联系人如何删除 qq荐股群引导群友的深圳壹基金捐款是什么目的 家事国事天下事的微信是什么人的群,我们该不该相信? 江西一男子被骗60万血本无归,犯罪嫌疑人是如何作案的? 微软回应外籍员工骚扰中国女性,情况是否属实? 怎样巧妙回答一个不喜欢的群友说我爱上你了? 如聚利返现是真是假 网络公司带群友做期货合法吗 安徽省淮南市社保自费社保中间断交可以补交吗? 安徽省池州市东至县政府网个人社保能补缴吗 安徽省社保可以补交以前的吗