0
ответов

C89, Смешивание объявлений переменных и кода

Мне очень любопытно узнать, почему именно компиляторы C89 будут сбрасывать вас, когда вы пытаетесь смешивать объявления переменных и код, например: rutski @ imac: ~ $ cat test.c #include int ...
вопрос задан: 27 June 2011 04:09
0
ответов

Библиотеки мемоизации для C?

Для проекта, над которым я работаю, существует ряд состояний, в которых вычисления могут дать те же результаты (и не имеют побочных эффектов). Очевидным решением было бы использовать ...
вопрос задан: 20 May 2011 02:33
0
ответов

Why FILE pointer need to be declared out main() in Visual Studio 2010?

I was trying to compile a simple ansi C example in Visual Studio 2010 and came across with this error compiling: Error: patchC.c(5): error C2275: 'FILE' : illegal use of this type as an ...
вопрос задан: 4 May 2011 02:35
0
ответов

Проверка на C, существует ли файл

В проекте, который я должен делать в стандарте C89, у меня есть чтобы проверить, существует ли файл. Как мне это сделать? Я подумал об использовании FILE * file; if ((file = fopen (fname, "r")) == NULL) {printf ("файл не существует") ...
вопрос задан: 21 April 2011 14:18
0
ответов

Как переписать инициализаторы, назначенные C-struct, на C89 (соответственно компилятор MSVC C)

, ребята, у меня такая проблема: обычно в C99 GCC (cygwin / MinGW / linux) есть синтаксис с точечной нотацией для инициализаторов в C-структуре . Вот так: // ПОМОГИТЕ, КАК ЭТО ПЕРЕПИСАТЬ (наиболее компактным способом), чтобы ...
вопрос задан: 26 March 2011 06:47
0
ответов

Какие части C наиболее переносимы?

Недавно я прочитал интервью с соавтором Lua Луисом Х. де Фигередо и Роберто Иерусалимши, где они обсудили дизайн и реализацию Lua. Это было, мягко говоря, очень интригующе. ...
вопрос задан: 15 February 2011 00:31
0
ответов

Преобразовать char в массив char или из массива char в char?

Итак, допустим, у меня есть char, и я хочу передать его strcat () в массив char в одной строке кода. Для [непрактичного] примера: strcat ("ljsdflusdfg", getchar ()); Или я хотел сделать обратное, что ...
вопрос задан: 14 January 2011 03:04
0
ответов

Можно ли смешивать код C89 с кодом C99?

У меня есть сомнения о многих вещах, связанных с различными спецификациями C. Если я программирую библиотеку на C99, могу ли я использовать ее из кода C89? (с использованием только функций с определениями, совместимыми с C89). ...
вопрос задан: 30 December 2010 16:27
0
ответов

Приведение указателя int к char ptr и наоборот

Проблема проста. Насколько я понимаю, GCC утверждает, что символы будут выровнены по байтам, а целые числа будут выровнены по 4 байтам в 32-битной среде. Я также знаю стандарт 6.3.2.3 C99, в котором говорится, что приведение ...
вопрос задан: 27 November 2010 09:55
0
ответов

Массивы переменной длины в C89?

Я прочитал, что C89 не поддерживает массивы переменной длины, но следующий эксперимент, кажется, опровергает это: #include int main () {int x; printf ("Введите число:"); ...
вопрос задан: 11 November 2010 22:09
0
ответов

Является ли «взлом структуры» технически неопределенным поведением?

Я спрашиваю о хорошо известном трюке «последний член структуры имеет переменную длину» . Это выглядит примерно так: struct T {int len; char s [1]; Это выглядит примерно так: struct T {int len; char s [1]; Это выглядит примерно так: struct T {int len; cha
вопрос задан: 17 October 2010 06:47
0
ответов

Вперед объявление FILE *

Как перенаправить объявление FILE * в C ? Обычно я делаю это с помощью struct MyType;, но, естественно, это невозможно. Если поведение отличается в стандартах C или компиляторах и в C ++, ...
вопрос задан: 7 October 2010 15:15
0
ответов

Указывает ли ANSI C или ISO C, что должно быть -5% 10?

Кажется, я помню, что ANSI C не указывал, какое значение следует возвращать, когда любой операнд оператора по модулю отрицателен (просто он должен быть непротиворечивым). Было ли это указано позже, или ...
вопрос задан: 31 August 2010 13:57