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

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

10
Оператор переключення: за замовчуванням має бути останній випадок?
Розглянемо наступне switchтвердження: switch( value ) { case 1: return 1; default: value++; // fall-through case 2: return value * 2; } Цей код компілюється, але чи дійсний він (= визначена поведінка) для C90 / C99? Я ніколи не бачив код, де випадок за замовчуванням - не останній випадок. EDIT: …


30
Чому вважається поганою практикою пропускати фігурні брекети? [зачинено]
Наразі це запитання не підходить для нашого формату запитань. Ми очікуємо, що відповіді будуть підкріплені фактами, посиланнями або експертними знаннями, але це питання, ймовірно, вимагатиме дискусій, аргументів, опитувань чи розширеної дискусії. Якщо ви вважаєте, що це питання можна вдосконалити та, можливо, знову відкрити, відвідайте довідковий центр для ознайомлення . Закрито …
177 java  c#  c++  c  coding-style 



8
Приклад / підручник Mutex? [зачинено]
Зачинено. Це питання не відповідає вказівкам щодо переповнення стека . Наразі відповіді не приймаються. Хочете вдосконалити це питання? Оновіть питання, щоб воно було тематичним для переповнення стека. Закрито 4 місяці тому . Удосконаліть це питання Я новачок у багатопотоковому читанні і намагався зрозуміти, як працюють мутекси. Зробив багато в Google, …

30
Які найгірші макроси / зловживання перед процесором у реальному світі, які ви коли-небудь стикалися?
Заблокований . Це запитання та його відповіді заблоковано, оскільки це питання поза темою, але має історичне значення. Наразі він не приймає нових відповідей чи взаємодій. Які найгірші в реальному світі макроси / зловживання перед процесором, які ви коли-небудь стикалися (будь ласка, не надуманих відповідей IOCCC * ха-ха *)? Додайте короткий …
176 c++  c  macros  preprocessor 


10
Яка різниця між printf () і put () у C?
Я знаю, що ви можете друкувати за допомогою printf()та puts(). Я також бачу, що printf()дозволяє інтерполювати змінні та робити форматування. Це puts()просто примітивна версія printf(). Чи слід його використовувати для всіх можливих printf()без стропової інтерполяції?
176 c  string  output  printf  puts 

8
Арифметика вказівника для недійсного вказівника в С
Коли покажчик до певного типу (скажімо int, char, float, ..) збільшується, його значення збільшується на розмір цього типу даних. Якщо voidвказівник, який вказує на дані про розмір x, збільшується, як це зробити, щоб вказувати xбайти вперед? Як компілятор знає додати xзначення покажчика?

6
Кланг проти GCC для мого проекту Linux Development
Я в коледжі, і для проекту, який ми використовуємо C. Ми дослідили GCC та Clang, і Clang, здається, набагато більш зручний для користувачів, ніж GCC. Як результат, мені цікаво, які переваги чи недоліки полягає у використанні clang, на відміну від GCC, для розробки на C та C ++ в Linux? …
175 c++  c  linux  gcc  clang 

11
Інструмент для відстеження # включення залежностей [закрито]
Зачинено. Це питання не відповідає вказівкам щодо переповнення стека . Наразі відповіді не приймаються. Хочете вдосконалити це питання? Оновіть питання, щоб воно було тематичним для переповнення стека. Закрито 6 років тому . Удосконаліть це питання Будь-які хороші пропозиції? Вхідним буде ім'я файлу заголовка, а вихідний - список (бажано дерево) усіх …
175 c++  c  header 

8
Чи безпечно для ниток errno?
У errno.hцій змінній оголошено extern int errno;так, як моє питання, чи безпечно перевірити errnoзначення після деяких дзвінків або використовувати perror () у багатопотоковому коді. Це безпечна змінна нитка? Якщо ні, то яка альтернатива? Я використовую Linux з gcc на архітектурі x86.
175 c  linux  multithreading  gcc 

7
Що значить i = (i, ++ i, 1) + 1; робити?
Прочитавши цю відповідь про невизначене поведінку та пункти послідовності, я написав невеличку програму: #include <stdio.h> int main(void) { int i = 5; i = (i, ++i, 1) + 1; printf("%d\n", i); return 0; } Вихід є 2. О Боже, я не бачив, як настав прихід! Що тут відбувається? Також під …

2
Як я можу конвертувати покажчик файлу (FILE * fp) у дескриптор файлу (int fd)?
У мене є FILE *, повернувся за дзвінком до fopen(). Мені потрібно отримати дескриптор файлу з нього, щоб телефонувати як fsync(fd)на ньому. Яка функція отримати дескриптор файлу з файлового вказівника?
174 c  linux  unix  file  posix 

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