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

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

5
Чому визначене поведінка беззнакового цілого числа переповнення, але переповнення підписаного цілого числа не є?
Ненаписане ціле число переповнення чітко визначено як стандартами C, так і C ++. Наприклад, стандарт C99 ( §6.2.5/9) Обчислення, що включають непідписані операнди, ніколи не можуть перевищувати значення, тому що результат, який не може бути представлений результатом непідписаного цілого числа, зменшується за модулем на число, яке на одну величину більше, …



15
Час виконання програми С
У мене є програма C, яка має на меті працювати паралельно на декількох процесорах. Мені потрібно мати можливість записувати час виконання (який може бути від 1 секунди до декількох хвилин). Я шукав відповіді, але всі вони, здається, пропонують використовувати clock()функцію, яка потім включає обчислення кількості годин, яку програма взяла, поділену …
209 c  benchmarking 

30
Чому C настільки швидкий, і чому інші мови не є такими швидкими чи швидшими? [зачинено]
Закрито . Це питання ґрунтується на думці . Наразі відповіді не приймаються. Хочете вдосконалити це питання? Оновіть питання, щоб на нього можна було відповісти фактами та цитатами, відредагувавши цю публікацію . Закрито 4 місяці тому . Удосконаліть це питання Слухаючи подкаст StackOverflow, джаб продовжує з'являтись, що "справжні програмісти" пишуть на …
208 c  performance 


8
Дійсний, але нікчемний синтаксис у випадку переключення?
Через невелику помилку я випадково знайшов цю конструкцію: int main(void) { char foo = 'c'; switch(foo) { printf("Cant Touch This\n"); // This line is Unreachable case 'a': printf("A\n"); break; case 'b': printf("B\n"); break; case 'c': printf("C\n"); break; case 'd': printf("D\n"); break; } return 0; } Здається, що printfвгорі switchтвердження є …

25
Що саме є покажчиком C, якщо не адресою пам'яті?
У поважному джерелі про C після обговорення &оператора наводиться така інформація : ... Трохи прикро, що термінологія [адреса] залишається, тому що вона бентежить тих, хто не знає, про що йдеться, і вводить в оману тих, хто це робить: думка про вказівники, як ніби вони адреси, зазвичай призводить до горя .. …



17
Проходження посиланням на С
Якщо C не підтримує передачу змінної за посиланням, чому це працює? #include <stdio.h> void f(int *j) { (*j)++; } int main() { int i = 20; int *p = &i; f(p); printf("i = %d\n", i); return 0; } Вихід: $ gcc -std=c99 test.c $ a.exe i = 21



25
Чи коли-небудь вигідніше використовувати "goto" мовою, яка підтримує цикли та функції? Якщо так, то чому?
Я давно перебуваю під враженням, що gotoніколи не можна використовувати, якщо можливо. Днями переглядаючи libavcodec (який написаний на С), днями я помітив багаторазове використання цього. Чи коли-небудь вигідніше використовувати gotoмову, яка підтримує цикли та функції? Якщо так, то чому?


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