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

C - мова програмування загального призначення, що використовується для системного програмування (ОС та вбудованих), бібліотек, ігор та крос-платформ. Цей тег слід використовувати із загальними питаннями, що стосуються мови C, визначеної стандартом ISO 9899 (остання версія, 9899: 2018, якщо інше не зазначено - також запити, пов’язані з версією тегів c89, c99, c11 тощо). C відрізняється від C ++, і він не повинен поєднуватися з тегом C ++ без раціональної причини.

5
Чому препроцесор C інтерпретує слово "linux" як постійну "1"?
Чому препроцесор C в GCC інтерпретує слово linux(маленькі літери) як константу 1? test.c: #include <stdio.h> int main(void) { int linux = 5; return 0; } Результат $ gcc -E test.c(зупинка після етапу попередньої обробки): .... int main(void) { int 1 = 5; return 0; } Що, звичайно, призводить до помилки. …
1022 c  linux  gcc  c-preprocessor 

17
Як використовувати extern для обміну змінними між вихідними файлами?
Я знаю, що глобальні змінні в C іноді мають externключове слово. Що таке externзмінна? Що таке декларація? Яка сфера застосування? Це пов'язано з обміном змінними між вихідними файлами, але як це точно працює? Де я використовую extern?

4
Конкурс C-коду з прихованим кодом 2006. Будь ласка, поясніть sykes2.c
Як працює ця програма C? main(_){_^448&&main(-~_);putchar(--_%64?32|-~7[__TIME__-_/8%8][">'txiZ^(~z?"-48]>>";;;====~$::199"[_*2&8|_/64]/(_&2?1:8)%8&1:10);} Вона компілюється як є (перевірена на gcc 4.6.3). Він друкує час, коли компілюється. У моїй системі: !! !!!!!! !! !!!!!! !! !!!!!! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !! !!!!!! !! !! !! !! …

22
Як ініціалізувати всіх членів масиву на одне значення?
У мене великий масив в C (не C ++, якщо це має значення). Я хочу ініціалізувати всіх членів одного значення. Я міг би поклятися, що колись знав простий спосіб зробити це. Я міг би використати memset()у своєму випадку, але чи не існує способу зробити це, що вбудовано прямо у синтаксис …



30
Код тестування блоку C [закрито]
Зачинено. Це питання не відповідає вказівкам щодо переповнення стека . Наразі відповіді не приймаються. Хочете вдосконалити це питання? Оновіть питання, щоб воно було тематичним для переповнення стека. Закрито 5 років тому . Я працював над вбудованою системою цього літа, написаною прямо на C. Це вже існуючий проект, який взяла на …



9
Чому в макросах використовувати зовнішньо безглузді висловлювання до-час та інше?
У багатьох макросах C / C ++ я бачу код макросу, загорнутий у те, що здається безглуздим do whileциклом. Ось приклади. #define FOO(X) do { f(X); g(X); } while (0) #define FOO(X) if (1) { f(X); g(X); } else Я не бачу, що do whileробить. Чому б просто не написати …
787 c++  c  c-preprocessor  c++-faq 

13
Різниця між malloc і calloc?
Яка різниця між тим, що робити: ptr = (char **) malloc (MAXELEMS * sizeof(char *)); або: ptr = (char **) calloc (MAXELEMS, sizeof(char*)); Коли корисно використовувати calloc over malloc чи навпаки?
779 c  malloc  calloc 



17
Що має бути головним () поверненням у C та C ++?
Який правильний (найефективніший) спосіб визначення main()функції в C і C ++ - int main()або void main()- і чому? Якщо int main()тоді return 1чи return 0? У цьому питанні є численні дублікати, зокрема: Які дійсні підписи для main()функції C ? Тип повернення main()функції Різниця між void main()і int main()? main()підпис на …


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.