В С это невозможно. Вы не можете инициализировать элементы структуры внутри самой структуры. Сначала вам нужно создать экземпляр или переменную типа структуры ; только после этого вы можете инициализировать элемент структуры. Например:
struct process{
char process_name[2];
int burst_time;
int completion_time;
int turn_around_time;
int waiting_time;
int priority;
int arrival_time; /* here you can't initialize */
} process_instance = { .arrival_time = 0 }; /* first process_instance created then initialize the members */
И вы можете получить доступ как arrival_time
, как показано ниже.
int main(void) {
printf("%d\'n",process_instance.arrival_time);
return 0;
}
Хотя в C ++ (не в C) , структуры почти синонимичны классам и могут иметь члены, инициализированные в конструкторе. Например:
struct process{
int arrival_time; /* member of structure */
process() : arrival_time(0) { } /*constructor */
};
int main(void) {
process obj;
std::cout<<obj.arrival_time;
return 0;
}