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

130
Размещение объявления переменной в C

Я долго думал, что в C все переменные нужно объявлять в начале функции. Я знаю, что в C99 правила такие же, как в C ++, но каковы правила размещения объявления переменных для C89 / ANSI C? Следующий код успешно компилируется с помощью gcc -std=c89и gcc -ansi: #include <stdio.h> int main() {...

128
Как программа ниже выводит C89 при компиляции в режиме C89 и C99 при компиляции в режиме C99?

Я нашел эту программу C в сети: #include <stdio.h> int main(){ printf("C%d\n",(int)(90-(-4.5//**/ -4.5))); return 0; } В этой программе интересно то, что когда она компилируется и запускается в режиме C89, она печатает, C89а когда она компилируется и запускается в режиме C99, она печатает...

124
В чем разница между C, C99, ANSI C и GNU C?

Я начал практиковаться в программировании на codechef, и меня смутила разница между C и C99. Что здесь означает C? Это C89? Проверьте языки внизу этого представления . Он содержит как C, так и C99. Я нашел в Интернете что-то под названием GNU C. Есть ли другой C для систем linux / unix?...

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

Я спрашиваю о хорошо известном трюке «последний член структуры имеет переменную длину». Это выглядит примерно так: struct T { int len; char s[1]; }; struct T *p = malloc(sizeof(struct T) + 100); p->len = 100; strcpy(p->s, "hello world"); Благодаря тому, как структура размещается в памяти, мы...

87
Где найти стандарты C89 / C90 в формате PDF?

Я ищу бесплатную копию стандарта C89 / C90 , но нигде не могу найти! Почему его так сложно найти? Стандарты C99 и C11 очень легко получить в Интернете. Даже в вопросах переполнения стека. Где мне найти текущие стандартные документы C или C ++? и Стандарт C, Получение стандарта не содержат того,...

82
Есть ли причина использовать C вместо C ++ для встраиваемой разработки?

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

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

Это функция, которая считает количество символов в строке: int str_len(const char* s) { int i = 0; while(*(s++)) { i++; } return i; } Почему это возвращает правильную длину? Допустим, я вызываю эту функцию с простой строкой "a". Затем sувеличивается в цикле while, поэтому значения sи iравны...