Запитання з тегом «c11»

7
Чому "sizeof (a? True: false)" дає вихід з чотирьох байтів?
У мене є невеликий фрагмент коду про sizeofоператора з потрійним оператором: #include <stdio.h> #include <stdbool.h> int main() { bool a = true; printf("%zu\n", sizeof(bool)); // Ok printf("%zu\n", sizeof(a)); // Ok printf("%zu\n", sizeof(a ? true : false)); // Why 4? return 0; } Вихід ( GCC ): 1 1 4 // …

7
Чому auto a = 1; компілювати в C?
Код: int main(void) { auto a=1; return 0; } збирається без помилок компілятором MS Visual Studio 2012, коли файл має розширення .c. Я завжди думав, що при використанні розширення .c компіляція повинна відповідати синтаксису C, а не C ++. Більше того, наскільки я знаю, авто без типу дозволено лише в …
125 c  auto  c11 

3
Друк нульових покажчиків з% p є невизначеною поведінкою?
Це невизначена поведінка для друку нульових покажчиків за допомогою %pспецифікатора перетворення? #include <stdio.h> int main(void) { void *p = NULL; printf("%p", p); return 0; } Питання стосується стандарту С, а не реалізації С.

1
Яка семантика об'єктів, що перекриваються в С?
Розглянемо таку структуру: struct s { int a, b; }; Зазвичай 1 , ця структура матиме розмір 8 та вирівнювання 4. Що робити, якщо ми створимо два struct sоб'єкти (точніше, запишемо у виділене сховище два такі об’єкти), причому другий об’єкт перекриє перший? char *storage = malloc(3 * sizeof(struct s)); struct …
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.