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

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

5
Конфликт между учебником Стэнфорда и GCC
Согласно этому фильму (около 38-й минуты), если у меня есть две функции с одинаковыми локальными переменными, они будут использовать одно и то же пространство. Итак, следующая программа должна напечатать 5. Компиляция с gccрезультатами -1218960859. Почему? Программа: #include <stdio.h> void A() { int a; printf("%i",a); } void B() { int a; …

2
Switch-case не компилируется после комментирования неиспользуемой строки
Вот мой код: #include <stdio.h> #include <string.h> #include <stdlib.h> #include <netdb.h> #include <sys/types.h> #include <sys/socket.h> #include <arpa/inet.h> int main (void) { struct addrinfo hints; memset (&hints, 0, sizeof hints); hints.ai_family = AF_UNSPEC; hints.ai_socktype = SOCK_DGRAM; hints.ai_flags = AI_CANONNAME; struct addrinfo *res; getaddrinfo ("example.com", "http", &hints, &res); printf ("Host: %s\n", "example.com"); …
82 c 

2
Почему утверждение «2i;» НЕ вызывает ошибку компилятора?
Вместо этого 2*iя небрежно написал 2i: int foo(int i) { 2i; return 2i; } Я ожидал, что компилятор поймает ошибку. Но этого не произошло. Итак, 2iдопустимое утверждение на C? Если да, то что он делает? Озадачен! Я скомпилировал с помощью gcc версии 5.3.0, и вот результат сборки: .file "strange.c" .text …
82 c  syntax 


6
общие глобальные переменные в C
Как я могу создать глобальные переменные, которые используются в C? Если я помещаю его в файл заголовка, компоновщик жалуется, что переменные уже определены. Это единственный способ объявить переменную в одном из моих файлов C и вручную поместить externs вверху всех других файлов C, которые хотят ее использовать? Звучит не идеально.

9
Что делает функция OpenCV cvWaitKey ()?
Что происходит во время исполнения cvWaitKey()? Какие типичные варианты использования? Я видел это в справочнике OpenCV, но в документации неясно его точное назначение.
82 c++  c  opencv 

7
(Почему) использует неопределенное поведение неинициализированной переменной?
Если у меня есть: unsigned int x; x -= x; ясно, что после этого выражения x должно быть ноль, но куда бы я ни посмотрел, они говорят, что поведение этого кода не определено, а не просто значение x(до вычитания). Два вопроса: Действительно ли поведение этого кода не определено? (Например, может …

10
C неблокирующий ввод с клавиатуры
Я пытаюсь написать программу на C (в Linux), которая зацикливается, пока пользователь не нажмет клавишу, но не требует нажатия клавиши для продолжения каждого цикла. Есть простой способ сделать это? Я полагаю, я мог бы сделать это сselect() но это похоже на большую работу. В качестве альтернативы, есть ли способ поймать …


7
Разбор JSON с использованием C [закрыто]
Закрыто. Этот вопрос не соответствует рекомендациям по переполнению стека . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он соответствовал теме Stack Overflow. Закрыт 6 лет назад . Уточните этот вопрос Я пытаюсь найти хороший способ синтаксического анализа JSON в C. Мне действительно не …
82 c  json 

6
Преимущества чистой функции
Сегодня читал про чистую функцию, запутался в ее использовании: Функция называется чистой, если она возвращает тот же набор значений для одного и того же набора входных данных и не имеет никаких наблюдаемых побочных эффектов. например strlen(), это чистая функция, а rand()нечистая. __attribute__ ((pure)) int fun(int i) { return i*i; } …
82 c  pure-virtual 

2
Android AudioRecord принудительно передает другой поток на источник звука MIC
Обновление 3: у меня есть партнерские отношения с другим разработчиком, и мы, кажется, нашли кого-то, кто может сделать это за большую сумму денег. Они прислали нам тестовый apk и вроде работает. Мы продолжим и купим исходный код. Надеюсь, нас не обманут. Я обновлюсь, как только узнаю Обновление 2: все еще …

30
Есть ли причина использовать C вместо C ++ для встраиваемой разработки?
Вопрос У меня есть два компилятора на моем оборудовании C ++ и C89 Я думаю об использовании C ++ с классами, но без полиморфизма (чтобы избежать vtables). Основные причины, по которым я хотел бы использовать C ++: Я предпочитаю использовать «встроенные» функции вместо макроопределений. Я хотел бы использовать пространства имен, …
82 c++  c  embedded  c89 

5
«Int * nums = {5, 2, 1, 4}» вызывает ошибку сегментации
int *nums = {5, 2, 1, 4}; printf("%d\n", nums[0]); вызывает segfault, тогда как int nums[] = {5, 2, 1, 4}; printf("%d\n", nums[0]); нет. В настоящее время: int *nums = {5, 2, 1, 4}; printf("%d\n", nums); печатает 5. Основываясь на этом, я предположил, что обозначение инициализации массива, {}, слепо загружает эти …
81 c  arrays  pointers 


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