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

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

5
Профспілки та набивання шрифтів
Я шукав якийсь час, але не можу знайти чіткої відповіді. Багато людей кажуть, що використання профспілок для набору каламбурів - це невизначена та погана практика. Чому це? Я не бачу жодної причини, чому він може робити щось невизначене, враховуючи те, що пам'ять, в яку ви пишете оригінальну інформацію, не буде …
79 c++  c  unions  type-punning 


17
Які найкорисніші нові функції в C99? [зачинено]
В даний час це питання не підходить для нашого формату запитань та відповідей. Ми очікуємо, що відповіді будуть підтверджені фактами, посиланнями чи експертизою, але це питання, швидше за все, вимагатиме дебатів, аргументів, опитування чи розширеного обговорення. Якщо ви вважаєте, що це питання можна покращити і, можливо, знову відкрити, відвідайте довідковий …
78 c  c99 

1
Найкраща мережева бібліотека C / C ++
Відповіді на це запитання - зусилля громади . Відредагуйте існуючі відповіді, щоб покращити цю публікацію. Наразі він не приймає нових відповідей або взаємодій. Я трохи не працював над C / C ++, і мені було просто цікаво, які улюблені міжплатформні бібліотеки людей використовувати. Я шукаю щось, що є хорошою швидкою …
78 c++  c  networking 


20
Поясніть цей фрагмент, який знаходить максимум два цілих числа, не використовуючи if-else або будь-який інший оператор порівняння?
Знайдіть максимум два числа. Ви не повинні використовувати if-else або будь-який інший оператор порівняння. Я знайшов це запитання на дошці оголошень в Інтернеті, тому я подумав, що повинен поставити в StackOverflow ПРИКЛАД Вхід: 5, 10 Вихід: 10 Я знайшов це рішення, хтось може допомогти мені зрозуміти ці рядки коду int …

4
Чи визначено поведінку віднімання двох покажчиків NULL?
Чи визначено різницю двох змінних показників, що не є порожніми (для C99 та / або C ++ 98), якщо вони обидва NULLоцінюються? Наприклад, скажімо, у мене є буферна структура, яка виглядає так: struct buf { char *buf; char *pwrite; char *pread; } ex; Скажімо, ex.bufвказує на масив або якусь помилкову …
78 c++  c  c99  c89 

8
Клас контейнера / бібліотека для C [закрито]
Зачинено. Це питання не в темі . Наразі відповіді не приймаються. Хочете покращити це питання? Оновіть питання, щоб воно було актуальним для переповнення стека. Закрито 7 років тому . Удосконалюйте це питання Хтось знає про будь-які бібліотеки контейнерів C? Я шукаю щось, що дає стандартні реалізації пов'язаних списків, масивів, хеш-таблиць …
78 c  containers 


9
Чому malloc ініціалізує значення до 0 у gcc?
Можливо, це різниться від платформи до платформи, але коли я компілюю за допомогою gcc і запускаю наведений нижче код, я щоразу отримую 0 в моєму ubuntu 11.10. #include <stdio.h> #include <stdlib.h> int main() { double *a = (double*) malloc(sizeof(double)*100) printf("%f", *a); } Чому malloc поводиться так, хоча є мозоль? Чи …
78 c  linux  gcc  malloc 

7
Чи правильність const надає компілятору більше простору для оптимізації?
Я знаю, що це покращує читабельність і робить програму менш схильною до помилок, але наскільки це покращує продуктивність? І на додаток, яка основна різниця між посиланням та constпокажчиком? Я б припустив, що вони зберігаються в пам'яті по-різному, але як так?


3
Чому корисний покажчик від точки до волатильності, на зразок “volatile int * p”?
volatileполягає в тому, щоб сказати компілятору не оптимізувати посилання, щоб кожне читання / запис не використовувало значення, що зберігається в регістрі, а робило реальний доступ до пам'яті. Я розумію, що це корисно для якоїсь звичайної змінної, але не розумію, якvolatile впливає на покажчик. volatile int *p = some_addr; int a …
78 c  pointers  volatile 

2
різниця між stdint.h та inttypes.h
У чому різниця між stdint.h та inttypes.h? Якщо жоден з них не використовується, uint64_t не розпізнається, але для будь-якого з них це визначений тип.
78 c  uint64  stdint 

10
Перетворення int у 4-байтовий масив символів (C)
Гей, я хочу перетворити int, що вводиться користувачем, у 4 байти, які я присвоюю масиву символів. Як це можна зробити? Приклад: Перетворити введені користувачем значення 175 на 00000000 00000000 00000000 10101111 Проблема з усіма відповідями на сьогодні, перетворення 255 повинно призвести до того, що 0 0 0 ffце друкується як:0 …
78 c 

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