Инициализировать массив внутри структуры (с массивом значений) - PullRequest
1 голос
/ 06 июля 2019

Можно ли инициализировать массив значениями внутри структуры в C?

#include <stdio.h>

struct student{
    int student_number[2];
    };

int main(void){

    struct student {
        int student_number = {35434, 56343};
    }

    struct student example_student;

    printf("%i \n", example_student.student_number[0]);


    return 0;
} 

Редактировать: Спасибо, Эрик П, это прояснило некоторые из моих путаниц с другими примерами, которые я имелнаткнулся.

Редактирование кода выше, чтобы показать исправление:

struct student{
    int student_number[2];
};

int main(void){

    struct student example_student = {
        .student_number = {35434, 56343}
    };

    printf("%i \n", example_student.student_number[0]);

1 Ответ

4 голосов
/ 06 июля 2019

Вы можете инициализировать объект структуры, когда определяете его, и это включает в себя инициализацию члена массива внутри структуры:

struct student example_student = { { 35434, 56343 } };

Вы также можете специально определить элемент структуры, который хотите инициализировать:

struct student example_student = { .student_number = { 35434, 56343 } };
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...