Понимание переменных со структурами C программирования - PullRequest
0 голосов
/ 01 февраля 2012

Мне нужна помощь, чтобы понять, как переменные typedef работают со структурами

/*This is the Struct, with a new type Program*/
typedef struct prog{
    char move[MAXNUMTOKENS][MAXTOKENSIZE];
    int cm; 
}Program;

Program prog;   // new variable of type Program that has an array and an int

Мой вопрос заключается в том, что делает следующее утверждение, инициализирует ли оно int cm в структурах до нуля?

prog.cm=0;

1 Ответ

1 голос
/ 01 февраля 2012

Думайте о структуре как о шаблоне для нового объекта.

Строка Program prog создает новый объект структуры на основе шаблона, определенного вверху.

Итак prog.cm=0; означает, что да, вы инициализируете поле конкретных объектов cm на ноль.

typedef существует просто, поэтому вам не нужно писать struct prog 'variableName', когда вы хотите создать новый объект структуры

...