Как создать структуру в стеке в C?

Я понимаю, как создатьstruct в кучу с помощьюmalloc, Искал некоторую документацию относительно созданияstruct в С в стеке, но все документы. Кажется, говорят о создании структуры только в куче.

Ответы на вопрос(3)

просто объявите ее как нормальное / не указательное значение

typedef struct { 
  int field1;
  int field2;
} C;

void foo() { 
  C local;
  local.field1 = 42;
}
 06 июн. 2012 г., 17:02
Это должна быть нестатическая локальная переменная функции (например, очень много переменных), чтобы идти в стек.

#include <stdio.h>

struct Person {
  char *name;
  int age;
  int height;
  int weight;
};

int main(int argc, char **argv)
{
  struct Person frank;
  frank.name = "Frank";
  frank.age = 41;
  frank.height = 51;
  frank.weight = 125;

  printf("Hi my name is %s.\n", frank.name);
  printf("I am %d yeads old.\n", frank.age);
  printf("I am %d inches tall.\n", frank.height);
  printf("And I weigh %d lbs.\n", frank.weight);

  printf("\n-----\n");

  struct Person joe;
  joe.name = "Joe";
  joe.age = 50;
  joe.height = 93;
  joe.weight = 200;

  printf("Hi my name is %s.\n", joe.name);
  printf("I am %d years old.\n", joe.age);
  printf("I am %d inches tall.\n", joe.height);
  printf("And I weigh %d lbs.\n", joe.weight);

  return 0;
}
 29 нояб. 2018 г., 19:24
«Это будет сложно, так что вы захотите исследовать ...», - говорит Зед. Так что вместо того, чтобы просто обдумать это сначала, я посмотрел онлайн и увидел это .... Но с другой стороны, это простоclicked и имеет смысл. Я внес все изменения, даже не обращаясь к этому коду.
Решение Вопроса

struct my_struct {...};

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

Ваш ответ на вопрос