读书人

定义一个结构体是否在栈上分配内存?解

发布时间: 2012-04-23 13:17:38 作者: rapoo

定义一个结构体是否在栈上分配内存?
大家知道,使用malloc函数新建一个结构体是在堆上分配内存的,但假如我用定义的方式呢?:

C/C++ code
struct strc{   int a; };struct strc s_a={1};

假如是这样,是不是在栈上分配内存的?

[解决办法]
那还要看是全局的还是局部的,局部的还分是否static
[解决办法]
定义变量时,位置,初始化与否也会影响的
[解决办法]
要看作用域 是局部的还是全局
[解决办法]
你如果写在函数内部就是栈上;写在函数外部,就应该存储在数据段.data

读书人网 >C语言

热点推荐