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


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

3
Как программа ниже выводит 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, она печатает C99. Но я не могу понять, как …
128 c  printf  comments  c99  c89 

5
В чем разница между C, C99, ANSI C и GNU C?
Я начал практиковаться в программировании на codechef, и меня смутила разница между C и C99. Что здесь означает C? Это C89? Проверьте языки внизу этого представления . Он содержит как C, так и C99. Я нашел в Интернете что-то под названием GNU C. Есть ли другой C для систем linux …
124 c  gcc  c99  c89  ansi-c 

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

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

10
Почему вы должны использовать strncpy вместо strcpy?
Изменить: я добавил источник для примера. Я наткнулся на такой пример : char source[MAX] = "123456789"; char source1[MAX] = "123456789"; char destination[MAX] = "abcdefg"; char destination1[MAX] = "abcdefg"; char *return_string; int index = 5; /* This is how strcpy works */ printf("destination is originally = '%s'\n", destination); return_string = strcpy(destination, …

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

4
Почему эта функция возвращает правильную длину строки? (Увеличение указателя на символ)
Это функция, которая считает количество символов в строке: int str_len(const char* s) { int i = 0; while(*(s++)) { i++; } return i; } Почему это возвращает правильную длину? Допустим, я вызываю эту функцию с простой строкой "a". Затем sувеличивается в цикле while, поэтому значения sи iравны 0.
12 c  while-loop  strlen  c89 
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.