首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在函数内部创建全局动态数组

在函数内部创建全局动态数组
EN

Stack Overflow用户
提问于 2011-06-19 07:19:49
回答 6查看 5.8K关注 0票数 1

我正在用C++写一个程序。在我的程序中,我需要在一个函数中创建一个动态大小的数组,但这个数组也应该可以被其他函数访问。我不会在这里发布我的代码,只写一个虚构的例子。

代码语言:javascript
运行
复制
char *array;


void function_1() {
    array = new char(3);
    array[0] = "value 1";
    array[1] = "value 2";
    array[2] = "value 3";
}

void function_2() {
    array[0] = "new value 1";
}

int main() {
    function_1();
    function_2();

    delete[] array;
}

我的问题是:我不确定数组是否会存在于初始化它的function_1之外,直到我定位数组的内存。或者数组在一个函数中只有一个局部变量的行为。这意味着,存储数组值的内存将在函数完成后被重新定位,并且我的数组的内存地址可以在稍后的程序中用其他东西重写。

谢谢。

EN

Stack Overflow用户

发布于 2011-06-19 07:24:02

因为array是全局的,所以它对其他函数是可见的。在被delete[]释放之前,使用new[]分配的内存会一直存在。

票数 2
EN
查看全部 6 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6399500

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档