![]() |
1
5
在C程序中引入字符串常量时,将创建一个具有静态存储持续时间的未命名、不可修改的对象。“静态存储持续时间”是指它在程序的整个生命周期内都有效。 因此,当您的代码中包含以下内容时:
为了节目的生命 . 通常,它们存储在文本段中,与程序代码本身的存储方式相同。 实际上传递给函数_name()的内容(可能在堆栈上)是 指针 到那些字符串常量。这就是GArray最终存储的内容—指向这些字符串常量的指针。 (请注意,用作数组初始化器的字符串是 不 字符串常量)。 |
![]() |
2
0
有三件事是正确的: 要么: 1) g_array_append_val正在复制字符串。 或: 2) 一旦堆栈再次被覆盖,事情就会破裂。
尝试调用burn_堆栈(256);在函数名之后,查看是否继续工作。
|
![]() |
Community wiki · C中有哪些耗时的操作? 1 年前 |
![]() |
Community wiki · 将所有处理器电源都投入到任务中 1 年前 |
![]() |
Community wiki · C++为C添加了什么?[已关闭] 1 年前 |
![]() |
Community wiki · 打印1到1000,不带循环或条件 1 年前 |