Я не очень хорошо знаком с C, поэтому я немного запутался в безопасности типов языка.
Например.
char* my_pointer;
my_pointer = malloc(sizeof(char));
if (*my_pointer == 0b0000)
{
// this might be true or false, doesn't matter
}
Почему код работает? Почему бы просто не взорваться в *my_pointer == 0b0000
?
Разве *my_pointer
не должен возвращать символ?
Так что технически не должно работать только что-то вроде *my_pointer == 'a'
?
0b0000
не являются частью языка. - person user694733   schedule 02.02.2018'a'
также являетсяint
. Почему sizeof('a') равен 4 в C? а> - person Bo Persson   schedule 02.02.2018