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

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

17
В чем смысл malloc (0)?
Я только что увидел этот код: artist = (char *) malloc(0); ... и мне было интересно, зачем это делать?
121 c  malloc 

21
Почему нулевой адрес используется для нулевого указателя?
В C (или C ++, если на то пошло) указатели являются особенными, если они имеют нулевое значение: я советую устанавливать указатели на ноль после освобождения их памяти, потому что это означает, что освобождение указателя снова не опасно; когда я вызываю malloc, он возвращает указатель с нулевым значением, если не может …
121 c++  c  memory  pointers 

6
сокет connect () против bind ()
Обе connect()и bind()системные вызовы «ассоциировать» сокет дескриптор файла на адрес (обычно это IP / порт комбинации). Их прототипы похожи на: - int connect(int sockfd, const struct sockaddr *addr, socklen_t addrlen); и int bind(int sockfd, const struct sockaddr *addr, socklen_t addrlen); В чем точная разница между 2 звонками? Когда следует использовать …


5
Почему C ++ 11 не поддерживает списки назначенных инициализаторов как C99? [закрыто]
Закрыто . Этот вопрос основан на мнении . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы на него можно было ответить фактами и цитатами, отредактировав этот пост . Закрыт 2 года назад . Уточните этот вопрос Рассматривать: struct Person { int height; int weight; …
121 c++  c  c++11  initialization  c99 

8
Как именно работает хвостовая рекурсия?
Я почти понимаю, как работает хвостовая рекурсия и чем она отличается от обычной. Я только не понимаю, почему не требуется, чтобы стек запомнил свой адрес возврата. // tail recursion int fac_times (int n, int acc) { if (n == 0) return acc; else return fac_times(n - 1, acc * n); …

13
Поиск дубликатов за O (n) время и O (1) пространство
Вход: задан массив из n элементов, который содержит элементы от 0 до n-1, причем любое из этих чисел встречается любое количество раз. Цель: найти эти повторяющиеся числа за O (n) и использовать только постоянную память. Например, пусть n будет 7, а array будет {1, 2, 3, 1, 3, 0, 6}, …
121 c++  c  algorithm 

23
Что входит в образовательный инструмент, чтобы продемонстрировать необоснованные предположения, которые люди делают в C / C ++?
Я хотел бы подготовить небольшой обучающий инструмент для SO, который должен помочь начинающим (и промежуточным) программистам распознавать и оспаривать свои необоснованные предположения в C, C ++ и их платформах. Примеры: "целые числа" "у всех есть ASCII" "Я могу сохранить указатель на функцию в пустоте *" Я полагал, что небольшая тестовая …

22
Позиция установленного младшего бита
Я ищу эффективный способ определения позиции младшего значащего бита, который установлен в целое число, например, для 0x0FF0 это будет 4. Тривиальная реализация такова: unsigned GetLowestBitPos(unsigned value) { assert(value != 0); // handled separately unsigned pos = 0; while (!(value & 1)) { value >>= 1; ++pos; } return pos; } …

6
Как я могу печатать в stderr на C?
В C печать в стандартный вывод выполняется легко с помощью printffrom stdio.h. Однако как можно печатать в stderr? fprintfОчевидно, мы можем использовать для этого, но его синтаксис кажется странным. Может быть, мы можем использовать printfдля печати в stderr?
121 c  printf  stderr 


3
DESTDIR и PREFIX производителя
Я пытаюсь установить программное обеспечение в определенный каталог. Я нашел несколько способов, но не уверен, в чем разница между ними. ./configure --prefix=*** make install DESTDIR=*** make install prefix=*** Я запутался в функциях этих трех. Достигают ли они одной и той же цели?
120 c  linux  bash  makefile  configure 

2
Что значит «навязчивая» структура данных?
Я видел термин навязчивый, используемый для описания структур данных, таких как списки и стеки, но что он означает? Можете ли вы привести пример кода навязчивой структуры данных и чем она отличается от ненавязчивой? Кроме того, зачем делать это навязчивым (или ненавязчивым)? Каковы преимущества? Какие недостатки?

6
Зачем нужен сегмент .bss?
Я знаю, что глобальные и статические переменные хранятся в .dataсегменте, а неинициализированные данные находятся в .bssсегменте. Я не понимаю, почему у нас есть специальный сегмент для неинициализированных переменных? Если неинициализированной переменной присвоено значение во время выполнения, существует ли эта переменная .bssтолько в сегменте? В следующей программе aнаходится в .dataсегменте и …

5
Документация / руководство по FFmpeg C API [закрыто]
Закрыто. Этот вопрос не соответствует рекомендациям по переполнению стека . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он соответствовал теме Stack Overflow. Закрыт 12 месяцев назад . Уточните этот вопрос Я пытаюсь найти документацию по использованию API FFmpeg C. Похоже, что доступна только …
120 c  api  documentation  ffmpeg 

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