Как установить, очистить и немного переключить в C / C ++?
В языках программирования C и C ++, в чем разница между использованием угловых скобок и использованием кавычек в операторе include
, следующим образом?
#include
#include "filename"
Как указывает Джоэл в подкасте Stack Overflow # 34 , в Язык программирования C (он же K & amp; R), упоминание об этом свойстве массивов в C: a[5] == 5[a]
Джоэл говорит, что это из-за арифметики указателей, но я все
...Что именно делает помещение extern "C"
в код C ++?
Например:
extern "C" {
void foo();
}
Я всегда путаюсь, как правильно использовать const int*
, const int * const
и int const *
. Существует ли набор правил, определяющих, что вы можете и не можете делать?
Я хочу знать все, что можно и чего нельзя делать
...В последнее время у меня был некоторый опыт работы с указателями на функции в C.
Продолжая традицию отвечать на ваши собственные вопросы, я решил сделать небольшое краткое изложение самых основ, для тех, кто нуждается в быстром погружении в предмет.
Я видел слово static
, используемое в разных местах в C-коде; это как статическая функция / класс в C # (где реализация разделяется между объектами)?
У меня большой массив в C (а не C ++, если это имеет значение). Я хочу инициализировать все члены с одинаковым значением. Я мог бы поклясться, что когда-то знал простой способ сделать это. Я мог бы использовать memset()
в моем
Как определить размер моего массива в C?
То есть количество элементов, которые может содержать массив?
Этим летом я работал над встроенной системой, написанной прямо на C. Это был существующий проект, который перешел к компании, в которой я работаю. Я довольно привык к написанию модульных тестов в Java с использованием JUnit, но не знал, как лучше
...#include
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++
... Когда спрашивают о распространенном неопределенном поведении в C , души более просветлены, чем я, ссылаясь на правило строгого наложения имен.
О чем они говорят?
Во многих макросах C / C ++ я вижу код макроса, заключенный в то, что кажется бессмысленным циклом do while
. Вот примеры.
#define FOO(X) do { f(X); g(X); } while (0)
#define FOO(X) if (1) { f(X); g(X); }
... В C, в чем разница между использованием ++i
и i++
, и что должно использоваться в блоке приращения цикла for
?
Какая разница между деланием:
ptr = (char **) malloc (MAXELEMS * sizeof(char *));
или:
ptr = (char **) calloc (MAXELEMS, sizeof(char*));
Когда рекомендуется использовать calloc вместо malloc или наоборот?
Как правильно (наиболее эффективно) определить функцию main()
в C и C ++ - int main()
или void main()
- и почему? Если int main()
, то return 1
или return 0
?
Существует множество дубликатов этого вопроса, в том числе:
...Почему оператор sizeof
возвращает размер, больший для структуры, чем общие размеры элементов структуры?
Я писал программу на C ++, чтобы найти все решения a b = c , где a , b b , вместе все 030688 0 930 Программа зациклилась на значениях a и b , и каждый раз запускала процедуру подсчета
...Я хочу создать функцию, которая выполняет функцию, переданную параметром для набора данных. Как вы передаете функцию в качестве параметра в C?