相关疑难解决方法(0)

堆栈和堆的内容和位置是什么?

编程语言书籍解释了在堆栈上创建了值类型,并且在堆上创建了引用类型,而没有解释这两者是什么.我还没有看清楚这个问题.我理解堆栈是什么.但,

  • 它们在哪里和它们(物理上在真实计算机的记忆中)?
  • 它们在多大程度上受操作系统或语言运行时控制?
  • 它们的范围是什么?
  • 是什么决定了它们的大小?
  • 是什么让一个更快?

language-agnostic heap stack memory-management dynamic-memory-allocation

7847
推荐指数
27
解决办法
145万
查看次数

是在静态内存中创建的c ++中的字符串文字吗?

c ++中的字符串文字是在静态内存中创建的,只有在程序退出时才会被销毁?

c++ string char

42
推荐指数
2
解决办法
2万
查看次数

C++字符串文字数据类型存储

void f()
{
    char *c = "Hello World!"
}
Run Code Online (Sandbox Code Playgroud)

字符串存储在哪里?它的属性是什么?我只知道它是一个常数,还有什么?我可以从功能体内部返回吗?

c++ memory compiler-construction storage types

21
推荐指数
4
解决办法
4935
查看次数

C中的字符串参数是否动态分配?

假设我有一个具有以下规范的函数:

void example(char* str)
Run Code Online (Sandbox Code Playgroud)

如果我传入一个字符串参数,例如:

example("testing");
Run Code Online (Sandbox Code Playgroud)

是"测试"在堆上动态分配的价值,所以我就可以说取得了函数调用"榜样"被破坏的范围后使用它(和需要稍后释放它),或者是本地堆栈上的变量,所以我需要使用malloc创建一个新的字符串,并将值存储在那里,如果我希望它继续存在,比如一个hashmap?

谢谢.

c string

3
推荐指数
1
解决办法
171
查看次数