Вопросы с тегом «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? Я никогда не видел код, в котором регистр по умолчанию не последний. РЕДАКТИРОВАТЬ: Как …


30
Почему считается плохой практикой опускать фигурные скобки? [закрыто]
В настоящее время этот вопрос не очень подходит для нашего формата вопросов и ответов. Мы ожидаем, что ответы будут подтверждены фактами, ссылками или опытом, но этот вопрос, скорее всего, вызовет дебаты, споры, опрос или расширенное обсуждение. Если вы считаете, что этот вопрос можно улучшить и, возможно, вновь открыть, обратитесь за …
177 java  c#  c++  c  coding-style 


8
Арифметика указателя для пустого указателя в C
Когда указатель к определенному типу (скажем int, char, float, ..) увеличивается, его значение увеличивается на размер этого типа данных. Если voidуказатель, который указывает на данные размера x, увеличивается, как он может указывать xвперед байты? Как компилятор знает, как добавить xзначение указателя?


8
Mutex пример / учебник? [закрыто]
Закрыто. Этот вопрос не соответствует рекомендациям по переполнению стека . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он соответствовал теме переполнения стека. Закрыто 5 месяцев назад . Улучшить этот вопрос Я новичок в многопоточности и пытался понять, как работают мьютексы. Я много гуглил, …

30
Какое из худших в мире злоупотреблений макросами и препроцессорами вы когда-либо встречали?
Locked . Этот вопрос и его ответы заблокированы, потому что вопрос не по теме, но имеет историческое значение. В настоящее время он не принимает новые ответы или взаимодействия. Какое из худших реальных злоупотреблений макросами / препроцессором вы когда-либо встречали (пожалуйста, не придумывайте ответы IOCCC * хаха *)? Пожалуйста, добавьте короткий …
176 c++  c  macros  preprocessor 


10
В чем разница между printf () и put () в C?
Я знаю, что вы можете печатать с printf()и puts(). Я также вижу, что printf()позволяет интерполировать переменные и выполнять форматирование. Это puts()просто примитивная версия printf(). Должно ли оно использоваться для всех возможных printf()без интерполяции строк?
176 c  string  output  printf  puts 

8
Errno потокобезопасный?
В errno.h, эта переменная объявлена ​​так, extern int errno;поэтому мой вопрос: безопасно ли проверять errnoзначение после некоторых вызовов или использовать perror () в многопоточном коде. Это потокобезопасная переменная? Если нет, то какая альтернатива? Я использую Linux с GCC на архитектуре x86.
176 c  linux  multithreading  gcc 

6
Clang против GCC для моего проекта по разработке Linux
Я учусь в колледже, и для проекта, в котором мы используем C. Мы изучили GCC и Clang, и Clang выглядит гораздо более удобным для пользователя, чем GCC. В результате мне интересно, каковы преимущества или недостатки использования clang, в отличие от GCC, для разработки на C и C ++ в Linux? …
175 c++  c  linux  gcc  clang 

11
Инструмент для отслеживания зависимостей #include [закрыто]
Закрыто. Этот вопрос не соответствует рекомендациям по переполнению стека . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он соответствовал теме переполнения стека. Закрыто 6 лет назад . Улучшить этот вопрос Есть хорошие предложения? На входе будет указано имя заголовочного файла, а на выходе …
175 c++  c  header 

5
Значение ios_base :: sync_with_stdio (false); cin.tie (NULL);
Какое значение имеет включение ios_base::sync_with_stdio(false); cin.tie(NULL); в программах на C ++? В моих тестах это ускоряет время выполнения, но есть ли тестовый пример, о котором я должен беспокоиться, включив его? Всегда ли 2 утверждения должны быть вместе, или первого достаточно, т. Е. Игнорировать cin.tie(NULL)? Кроме того, допустимо ли использовать одновременно …
175 c++  c 

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. О Боже, я не видел приближающегося декремента! Что здесь происходит? Кроме того, во …

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.