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

Этот тег предназначен для вопросов, касающихся международного стандарта ISO 9899: 1999, он же «C99», с техническими исправлениями, а также для вопросов о коде, написанном на C99 (в отличие от K&R C, C89 или более поздних версий стандарта C, таких как версия C11 2011 года) .

183
Реалистичное использование ключевого слова C99 «Restrict»?

Я просматривал некоторую документацию и вопросы / ответы и видел упомянутое. Я прочитал краткое описание, в котором говорится, что программист обещает, что указатель не будет использоваться для указания другого места. Может ли кто-нибудь предложить некоторые реалистичные случаи, когда на самом деле...

151
Стандартная альтернатива трюку GCC ## __ VA_ARGS__?

Существует известная проблема с пустыми аргументами для вариационных макросов в C99. пример: #define FOO(...) printf(__VA_ARGS__) #define BAR(fmt, ...) printf(fmt, __VA_ARGS__) FOO("this works fine"); BAR("this breaks!"); Использование BAR()вышеупомянутого действительно неверно в соответствии со...

135
Не могу понять, как рассчитать квадрат числа

Я нашел функцию, которая вычисляет квадрат числа: int p(int n) { int a[n]; //works on C99 and above return (&a)[n] - a; } Возвращает значение n 2 . Вопрос в том, как это сделать? После небольшого тестирования я обнаружил, что между (&a)[k]и (&a)[k+1]есть sizeof(a)/ sizeof(int). Это...

131
преобразование bool в int

Насколько портативно это преобразование. Могу ли я быть уверен, что оба утверждения верны? int x = 4<5; assert(x==1); x = 4>5; assert(x==0); Не спрашивайте почему. Я знаю, что это некрасиво....

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?...

121
Почему C ++ 11 не поддерживает списки назначенных инициализаторов как C99? [закрыто]

Закрыто . Этот вопрос основан на мнении . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы на него можно было ответить фактами и цитатами, отредактировав этот пост . Закрыт 2 года назад . Уточните этот вопрос Рассматривать: struct Person { int height;...

113
Заголовок C99 stdint.h и MS Visual Studio

К моему удивлению, я только что обнаружил, что C99 stdint.h отсутствует в MS Visual Studio 2003 и выше. Я уверен, что у них есть свои причины, но кто-нибудь знает, где я могу скачать копию? Без этого заголовка у меня нет определений для полезных типов, таких как uint32_t и т....

103
Спецификатор ширины Printf для поддержания точности значения с плавающей запятой

Есть ли printfспецификатор ширины, который можно применить к спецификатору с плавающей запятой, который автоматически форматировал бы вывод до необходимого количества значащих цифр , чтобы при сканировании строки обратно было получено исходное значение с плавающей запятой? Например, предположим,...

102
Поддержка Visual Studio новых стандартов C / C ++?

Я продолжаю читать о C99 и C ++ 11 и обо всех этих совершенно приятных вещах, которые добавляются к языковому стандарту и которые когда-нибудь могут быть полезны. Однако в настоящее время мы томимся в стране написания C ++ в Visual Studio. Будет ли когда-либо добавлено что-либо из нового стандарта...

96
Полезны ли «inline» без «static» или «extern» в C99?

Когда я пытаюсь построить этот код inline void f() {} int main() { f(); } используя командную строку gcc -std=c99 -o a a.c Я получаю сообщение об ошибке компоновщика (неопределенная ссылка на f). Ошибка исчезает, если я использую static inlineили extern inlineвместо просто inline, или если я...

93
Есть ли машины, где sizeof (char)! = 1 или хотя бы CHAR_BIT> 8?

На этот вопрос есть ответы на Stack Overflow на русском : Кто-нибудь встречал в своей практике sizeof (char)! = 1? Есть машины (или компиляторы), где sizeof(char) != 1? В стандарте C99 сказано, что sizeof(char)при стандартной реализации соответствия ДОЛЖНО быть ровно 1? Если да, то дайте мне номер...

93
Печать нулевых указателей с% p является неопределенным поведением?

Является ли неопределенное поведение печатью нулевых указателей с помощью %pспецификатора преобразования? #include <stdio.h> int main(void) { void *p = NULL; printf("%p", p); return 0; } Вопрос относится к стандарту C, а не к реализациям C....