|
1
4
仅限您
试图传递未返回的指针
您得到的编译器错误
记住,数组是数组,不是指针。虽然数组可以 衰退 在许多情况下(例如将其传递给函数时),指向其第一个元素的指针。 |
|
|
2
3
你
只有
呼叫
尝试呼叫时的行为
|
|
|
3
1
你只需要释放malloced。
|
|
|
4
0
所有静态字符串都将在数据段中分配。无法从此节中释放数据。在此之前,您只能释放已分配给malloc的数据(calloc/ralloc) |
|
|
5
0
在C编程语言中,由于明显的原因,您无法编写所做的指令。首先,必须理解,指针变量与其他类型的变量一样,只是它只包含地址,所以它被称为指针变量,因为它包含内存中的地址。因此,指针是 与数据类型关联的地址 还有这些 这两个要素是不可分割的。 如果指针变量包含整个类型的对象的地址,则使用指针对象了解如何解释构成该对象的位及其大小。因此,您编写的指令是指向存储在内存中某处的字符类型的常量指针。因此,字符串可能位于只读数据段中,因此您无法修改字符串或释放其内存,因为指针 变量不指向动态分配的空间中的字符串 通过“malloc”或“calloc”分配函数,这就是为什么会出现错误消息。 第二个错误也是由于您在这里的角色混淆造成的,您必须理解字符数组和指针之间存在差异。简单地说,指针变量不是数组,数组也不是指针,但访问元素的方式是相同的。对于数组,组成字符串并以“\ 0”结尾的字符可以更改,但字符数组将始终指向内存中的同一地址,指针可以包含另一个地址,但请注意,如果使用指针分配内存,然后指向其他PAR,而不释放分配的内存,则会造成内存泄漏。 |
|
|
6
-2
这是使用delete的正确方法!您首先必须使用new!让编译器知道变量ptr是动态的!
|
|
|
Fishie · 作为类成员的智能指针是否仍然自动释放?[关闭] 9 月前 |
|
|
Anka Hanım · 关于结构和动态数组地址的问题 9 月前 |
|
|
tTt · 使用堆栈中的值重新分配指针 10 月前 |
|
|
jnwjack · Swift:初始化不安全可变指针<CGImage?>不分配 10 月前 |
|
|
manuel · 现代C中空指针的替代方案++ 11 月前 |
|
|
cha · 为什么在C中,int变量需要“&”运算符,而数组不需要?[副本] 11 月前 |