В C мы не можем присвоить int variable = true;
Это неверно. Он компилируется и запускается успешно. Следующий код компилируется и отлично работает на G CC.
#include <stdio.h>
#include <stdbool.h>
typedef struct mystruct {
int variable;
} mystruct_;
int main(void){
int variable = true;
mystruct_ st = {true};
printf("%i %i",st.variable, variable);
}
Кстати, stdbool.h
содержит следующее:
#define true 1
#define false 0
Вот почему он должен работать с int
.