Dor*_*Dor 0 c malloc stack overflow
众所周知,大的本地/全局变量可能导致堆栈溢出.我知道在内存中使用指针和分配空间有助于克服这个问题.但这是唯一的选择吗?如果我在全球范围内拥有(或需要)太多指针,会发生什么?
关于堆栈空间:全局struct-type变量是否在堆栈中占用空间,或者像指针一样?我是否需要创建结构变量类型的指针以减少堆栈负载?
以下代码是否也将内存分配给名为的char**变量BIG?
// in the header file
typedef struct myStruct {
BIG[256][256];
int baz;
} myStruct;
// in the c file
myStruct* foo;
foo = (myStruct*) malloc( sizeof(*foo) );
如何轻松转换返回值malloc()?问题#3我写道:
foo = (myStruct*) malloc( sizeof(*foo) );
但我更喜欢写一些类似的东西:
foo = (foo) malloc( sizeof(*foo) ); // the compiler reports an error
这将减轻编辑代码时的痛苦(更改类型时foo).
英语不是我的母语,对于任何不清楚都很抱歉.