Вопросы с тегом «c»

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

3
Неблокирующий ввод-вывод UNIX: O_NONBLOCK против FIONBIO
В каждом примере и обсуждении, с которыми я сталкиваюсь в контексте программирования сокетов BSD, кажется, что рекомендуемый способ установить дескриптор файла в неблокирующий режим ввода-вывода - использовать этот O_NONBLOCKфлаг fcntl(), например, int flags = fcntl(fd, F_GETFL, 0); fcntl(fd, F_SETFL, flags | O_NONBLOCK); Я занимаюсь сетевым программированием в UNIX более десяти …


4
Принципы проектирования, передовой опыт и шаблоны проектирования для C (или процедурного программирования в целом)? [закрыто]
Закрыто . Этот вопрос основан на мнении . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы на него можно было ответить с помощью фактов и цитат, отредактировав этот пост . Закрыт 2 года назад . Уточните этот вопрос Существуют ли какие-либо известные принципы проектирования, …

30
Алгоритм: эффективный способ удаления повторяющихся целых чисел из массива
У меня возникла эта проблема из интервью с Microsoft. Учитывая массив случайных целых чисел, напишите алгоритм на C, который удаляет повторяющиеся числа и возвращает уникальные числа в исходном массиве. Например, вход: {4, 8, 4, 1, 1, 2, 9} Выход:{4, 8, 1, 2, 9, ?, ?} Одно предостережение заключается в том, …




9
Инициализировать / сбросить структуру до нуля / нуля
struct x { char a[10]; char b[20]; int i; char *c; char *d[10]; }; Я заполняю эту структуру, а затем использую значения. На следующей итерации я хочу сбросить все поля до 0или nullдо того, как я начну повторно использовать его. Как я могу это сделать? Могу ли я использовать memsetили …



10
минимальное двойное значение в C / C ++
Существует ли стандартный и / или переносимый способ представления наименьшего отрицательного значения (например, использование отрицательной бесконечности) в программе на C (++)? DBL_MIN в float.h - это наименьшее положительное число.
92 c++  c  math 

10
Как сравнивать строки в условных директивах препроцессора C
Мне нужно сделать что-то подобное в C. Это работает, только если я использую char, но мне нужна строка. Как я могу это сделать? #define USER "jack" // jack or queen #if USER == "jack" #define USER_VS "queen" #elif USER == "queen" #define USER_VS "jack" #endif

8
Как отследить ошибку «двойное освобождение или повреждение»
Когда я запускаю свою программу (C ++), она вылетает с этой ошибкой. * обнаружена glibc * ./load: двойное освобождение или повреждение (! предыдущая): 0x0000000000c6ed50 *** Как я могу отследить ошибку? Я безуспешно пытался использовать std::coutоператоры print ( ). Может ли gdbэто сделать проще?
92 c++  c  debugging  free 


5
Почему у этой структуры размер 3 вместо 2?
Я определил эту структуру: typedef struct { char A:3; char B:3; char C:3; char D:3; char E:3; } col; sizeof(col)Дать мне выход 3, но она не должна быть 2? Если я прокомментирую только один элемент, то sizeofбудет 2. Я не понимаю, почему: пять элементов по 3 бита равны 15 битам, …
91 c++  c  struct 

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