Запитання з тегом «c99»

Цей тег призначений для питань щодо Міжнародного стандарту ISO 9899: 1999, він же "C99", з технічними виправленнями, а також для питань щодо коду, написаного на C99 (на відміну від версій K&R C, C89 або пізніших стандартів C, як редакція C11 2011 року) .


2
Реальне використання ключового слова "обмежити" C99?
Я переглядав деяку документацію та питання / відповіді і бачив, як це згадується. Я прочитав короткий опис, заявивши, що в основному це буде обіцянка програміста, що вказівник не буде використовуватися для вказівки деінде. Чи може хтось запропонувати реалістичні випадки, коли варто реально використовувати це?
183 c  gcc  c99  restrict-qualifier 

10
Стандартна альтернатива трюку ## __ VA_ARGS__ GCC?
Існує добре відома проблема з порожніми аргументами для макросів в змінному числі 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?
Я розпочав практику програмування в кодефікуванні і був збентежений різницею між C і C99. Що тут означає C? Це C89? Перевірте мови внизу цього подання . Він містить як C, так і C99. Я знайшов в Інтернеті щось, що називається GNU C. Чи існує інший С для систем Linux / …
123 c  gcc  c99  c89  ansi-c 

5
Чому C ++ 11 не підтримує призначені списки ініціалізаторів як C99? [зачинено]
Закрито . Це питання ґрунтується на думці . Наразі відповіді не приймаються. Хочете вдосконалити це питання? Оновіть питання, щоб на нього можна було відповісти фактами та цитатами, відредагувавши цю публікацію . Закрито 2 роки тому . Удосконаліть це питання Поміркуйте: struct Person { int height; int weight; int age; }; …
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специфікатор ширини, який може бути застосований до специфікатора плаваючої точки, який автоматично відформатуватиме висновок на необхідну кількість значущих цифр, таким чином, що при скануванні рядка назад в ньому набувається початкове значення плаваючої точки? Наприклад, припустимо, що я друкую a floatз точністю до 2десяткових знаків: float foobar = 0.9375; …

12
Підтримка Visual Studio для нових стандартів C / C ++?
Я продовжую читати про C99 та C ++ 11 та всі ці цілком приємні речі, які додаються до мовного стандарту, які, можливо, колись приємно використовувати. Однак ми зараз знемагаємо на землі написання C ++ у Visual Studio. Чи будь-який новий матеріал у стандарті коли-небудь буде доданий до візуальної студії, чи …

3
Чи корисно в C99 коли-небудь “inline” без “static” чи “extern”?
Коли я намагаюся створити цей код 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.