Вопросы с тегом 'c'

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

Obfuscated C Code Contest 2006. Пожалуйста, объясните sykes2.c

Как работает эта C-программа? main(_){_^448&&main(-~_);putchar(--_%64?32|-~7[__TIME__-_/8%8][">'txiZ^(~z?"-48]>>";;;====~$::199"[_*2&8|_/64]/(_&2?1:8)%8&1:10);} Он компилируется как есть (проверен на gcc 4.6.3). Он пе...
13 мар. '13 в 18:22
27

Как определить размер моего массива в C?

Как определить размер моего массива в C? То есть, количество элементов, которые может содержать массив?
01 сент. '08 в 6:49
23

Почему переменные не могут быть объявлены в инструкции switch?

Я всегда задавался этим вопросом - почему вы не можете объявлять переменные после метки case в инструкции switch? В С++ вы можете объявить переменные почти везде (и объявить их близкими к первому использованию, очевидно, хорошо), но следующее все рав...
18 сент. '08 в 13:11
5

Почему препроцессор C интерпретирует слово "linux" как константу "1"?

Почему препроцессор C в GCC интерпретирует слово linux (маленькие буквы) как константу 1? test.c: #include <stdio.h> int main(void) { int linux = 5; return 0; } Результат $ gcc -E test.c (остановка после этапа предварительно...
06 окт. '13 в 16:09
31

Единичное тестирование C Код

Этим летом я работал над встроенной системой, написанной прямо на C. Это был существующий проект, который перешла к компании, в которой я работаю. Я довольно привык к написанию модульных тестов в Java с использованием JUnit, но не знал, как лучше нап...
15 сент. '08 в 19:12
27

В чем разница между определением и декларацией?

Значение обоих ускользает от меня.
11 сент. '09 в 12:27
21

C: В чем разница между ++i и i++?

В C, в чем разница между использованием ++i и i++ и который должен использоваться в блоке инкрементации цикла for?
24 авг. '08 в 5:19
15

Почему эти конструкции используют неопределенное поведение до и после приращения?

#include <stdio.h> int main(void) { int i = 0; i = i++ + ++i; printf("%d\n", i); // 3 i = 1; i = (i++); printf("%d\n", i); // 2 Should be 1, no ? volatile int u = 0; u = u++ + ++u; printf("%d\n", u); // 1 u = 1...
04 июн. '09 в 9:17
11

Что такое строгое правило сглаживания?

Отвечая на вопрос о распространенном неопределенном поведении в C, люди иногда ссылаются на строгое правило псевдонимов. О чем они говорят?
19 сент. '08 в 1:30
19

Разница между malloc и calloc?

В чем разница между выполнением: ptr = (char **) malloc (MAXELEMS * sizeof(char *)); или ptr = (char **) calloc (MAXELEMS, sizeof(char*)); Когда полезно использовать calloc над malloc или наоборот?
08 окт. '09 в 15:04
11

Зачем использовать явно бессмысленные инструкции do-while и if-else в макросах?

Во многих макросах C/С++ я вижу код макроса, завернутый в то, что кажется бессмысленным циклом do while. Вот примеры. #define FOO(X) do { f(X); g(X); } while (0) #define FOO(X) if (1) { f(X); g(X); } else Я не вижу, что делает do while. Почему б...
30 сент. '08 в 17:36
48

Разделите число на 3 без использования операторов *,/, +, -,%

Как бы вы разделили число на 3 без использования *, /, +, -, %, операторов? Число может быть подписано или без знака.
27 июл. '12 в 19:34
12

определение typedef struct vs struct

Я новичок в программировании на С, но мне было интересно узнать, какая разница между использованием typedef при определении структуры или использованием typedef. Мне кажется, что нет никакой разницы, они достигают той же цели. struct myStruct{ i...
04 нояб. '09 в 17:21
16

Использование булевых значений в C

C не имеет встроенных булевых типов. Какой лучший способ использовать их в C?
17 дек. '09 в 12:46
19

Может ли код, который действителен как в C, так и в С++, создает другое поведение при компиляции на каждом языке?

C и С++ имеют много отличий, и не все допустимые C-коды являются действительными С++-кодом. (Под "действительным" я подразумеваю стандартный код с определенным поведением, т.е. Не специфичный для реализации/ undefined/и т.д.) Есть ли какой-либо сце...
14 окт. '12 в 23:54