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

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


2
Реалистичное использование ключевого слова C99 «Restrict»?
Я просматривал некоторую документацию и вопросы / ответы и видел упомянутое. Я прочитал краткое описание, в котором говорится, что программист обещает, что указатель не будет использоваться для указания другого места. Может ли кто-нибудь предложить некоторые реалистичные случаи, когда на самом деле стоит использовать это?
183 c  gcc  c99  restrict-qualifier 

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

5
Не могу понять, как рассчитать квадрат числа
Я нашел функцию, которая вычисляет квадрат числа: 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). Это почему?

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

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 

5
Почему C ++ 11 не поддерживает списки назначенных инициализаторов как C99? [закрыто]
Закрыто . Этот вопрос основан на мнении . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы на него можно было ответить фактами и цитатами, отредактировав этот пост . Закрыт 2 года назад . Уточните этот вопрос Рассматривать: struct Person { int height; int weight; …
121 c++  c  c++11  initialization  c99 


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

8
Спецификатор ширины Printf для поддержания точности значения с плавающей запятой
Есть ли printfспецификатор ширины, который можно применить к спецификатору с плавающей запятой, который автоматически форматировал бы вывод до необходимого количества значащих цифр , чтобы при сканировании строки обратно было получено исходное значение с плавающей запятой? Например, предположим, что я печатаю floatс точностью до 2десятичных знаков: float foobar = 0.9375; printf("%.2f", …

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

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


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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.