如何在C中的堆栈上创build一个结构?

我知道如何使用malloc在堆上创build一个struct 。 正在寻找一些有关在堆栈中创build一个struct文档,但所有的文档。 似乎只谈堆上的结构创build。

你在栈上声明任何variables的方法是一样的:

 struct my_struct {...}; int main(int argc, char **argv) { struct my_struct my_variable; // Declare struct on stack . . . } 

要在栈上声明一个结构,只需将其声明为普通/非指针值即可

 typedef struct { int field1; int field2; } C; void foo() { C local; local.field1 = 42; }