Вопросы по теме 'c89'

Почему C не имел логического типа данных до C99?
Я понимаю, что вы можете просто #define некоторые целые числа, но почему C не имел выделенного логического типа данных до C99? Это такое обычное явление в программировании и логике, что я не понимаю отсутствие явного типа и обозначения.
7335 просмотров
schedule 22.10.2022

Вперед объявить ФАЙЛ *
Как мне передать объявление FILE * в C? Обычно я делаю это с помощью struct MyType; , но, естественно, это невозможно. Если поведение стандартов или компиляторов C отличается от C++, это также представляет интерес. Обновление0 Почему я...
4555 просмотров
schedule 22.12.2022

Почему GNOME не использует C99?
Глядя на исходный код mutter и показать исходный код , оба по-прежнему используют стиль C89 для объявления всех переменных на самом начало функции вместо того, где она впервые используется (ограниченный объем - это хорошо). Почему они не...
565 просмотров
schedule 12.05.2022

Как сгенерировать NaN, -Infinity и +Infinity в ANSI C?
Я использую ANSI C89 (не C++) и хочу сгенерировать NaN , -Infinity и +Infinity . Есть ли стандартный способ (например, стандартный макрос)? Или есть какой-либо независимый от платформы и компилятора способ генерировать эти числа? float f =...
31489 просмотров
schedule 24.03.2022

Различия между MSVC 10.0 c и С++
У меня возникли трудности с компиляцией программы C ниже. Это только начало моих попыток понять winsock. Проблема в том, что при компиляции программы client.c я получаю ошибку (C2143) отсутствует ';' перед «типом». Но когда я переименовываю исходный...
177 просмотров

нарушение доступа к printf в подфункции - Ansi C90
Вызов printf внутри подфункции приводит к нарушению прав доступа. Программа довольно большая по размеру. но я смог изолировать проблему до такой степени, что выполняется только вызов подфункции. я могу вывести систему из строя, вызвав printf с...
166 просмотров
schedule 01.01.2023

Почему эта программа C соответствует требованиям и работает
С любопытством к определению и области действия typedef я написал ниже код C в 2 файлах .c: main.c #include <stdio.h> int main() { int a = 5, b = 6; printf("a = %d, b = %d\n", a, b); swap(&a, &b); printf("a =...
228 просмотров
schedule 01.01.2023

sys/socket отсутствует член для msgdr: msg_control, msg_controllen, msg_flags
Я пытаюсь написать небольшое клиент-серверное приложение, используя UNIX DOMAIN SOCKETS. Я использую msghdr для sendmsg / recvmsg , но когда я компилирую следующий код, это дает мне следующую ошибку: include <sys/socket.h> ... struct...
969 просмотров
schedule 02.01.2023

Законно ли объявление неявной функции в C89?
Рассмотрим эту программу C: int main() { puts("Hello world!"); return 0; } Это компилируется и работает нормально и, насколько я понимаю, является законным C89. Однако я не уверен на 100% в этом. Компиляция в режиме C99 с clang...
807 просмотров
schedule 02.05.2022

Как (GNU/BSD) макросы libc могут быть безопасными?
После повторной реализации некоторых функций libc (в «личном» проекте моей школьной библиотеки под названием libft ), у меня возникла идея реализовать некоторые из них в виде макросов, например: #define ft_isalnum(c) (ft_isalpha(c) ||...
331 просмотров
schedule 20.07.2022

Ошибка указателя в моей программе [C89]
Цель этой программы — просмотреть указанные пользователем данные, все данные отформатированы как hw-data-3.txt, где 3 может варьироваться от 1 до 100. Мне нужно перебрать указанные файлы и подсчитать общую потраченную сумму. В строке может быть не...
39 просмотров
schedule 21.10.2022

сложение целых чисел без знака и неопределенное поведение в C90
Решено! Соответствующий отрывок можно найти в C90 ISO 9899:1990 6.1.2.5 Типы: «[..] Вычисление, включающее операнды без знака, никогда не может переполниться, потому что [...]» Поэтому 9899:1990 6.3 не может применяться и,...
1223 просмотров

Какой раздел стандарта C89 допускает неявное правило int?
При использовании gcc код: register a = 3; static b = 3; это разрешено при использовании флагов -std=c89 -pedantic-errors , хотя есть предупреждение. Однако он получает ошибку с флагами -std=c99 -pedantic-errors . Интересно, какой...
768 просмотров

C. Почему ANSI указал только шесть символов для минимального количества значащих символов во внешнем идентификаторе?
У меня есть вопрос относительно раздела 5.2.4.1 Ограничения перевода в первом American National Standard for Programming languages - C , также известном как ANSI/ISO 9899-1990, ISO/IEC 9899.1990 (E), C89 и т. д. Проще говоря, первый Стандарт ANSI...
2224 просмотров
schedule 20.06.2023

Ошибка: начальные объявления цикла for разрешены только в режиме c99
У меня есть эта проблема, когда я могу скомпилировать только с помощью gcc -std = c99, но, тем не менее, мне нужно, чтобы она скомпилировалась с использованием c89 aka gcc -Wall. Это часть моего кода, где я использую цикл for. Пожалуйста, подумайте,...
5258 просмотров
schedule 02.03.2022

Какой спецификатор следует использовать для печати макроконстанты BUFSIZ с использованием printf в C (C89)
Используем ли мы lu и unsigned long приведение, как в: printf("%lu\n", (unsigned long)BUFSIZ); /* 512 */ и надеяться на лучшее? или есть другой способ? И это не дубликат: Как можно переносимо распечатать переменную size_t, используя...
591 просмотров
schedule 13.05.2022

Как использовать fscanf для переноса огромного количества входных данных из файла в структуру. АНСИ С89(90)
У меня проблема с некоторым кодом в моей программе. Мне нужно прочитать файл и поместить его содержимое построчно в структуру. Файл имеет длину около 800 строк, и когда я пытаюсь распечатать свою структуру, которая теперь должна содержать содержимое...
47 просмотров
schedule 16.09.2023

совместимость типа параметра функции
Я скрываю некоторые поля структуры из типов struct , чтобы сделать заголовки общедоступного API более понятными. Сначала я использовал этот стиль, чтобы скрыть (на самом деле не скрывать, просто отделить от общедоступных редактируемых элементов)...
71 просмотров
schedule 10.01.2024

Следует ли размещать спецификатор класса хранения параметров в определении функции или в объявлении и определении?
Я работаю над переносом некоторого старого кода K&R на ANSI C, поэтому я пишу объявления прототипов недостающих функций. Многие определения функций имеют параметры с классом хранения регистров, но я не уверен, можно ли пропустить спецификатор класса...
714 просмотров
schedule 06.05.2023

Изучение функции getchar()
Меня интересует C, поэтому я хочу больше узнать о C, особенно о C89, чтобы увидеть, как этот язык изменился с течением времени :). Я купил "Язык программирования C" (2-е издание) Дениса Ритчи. Пример из книги приводит меня к сложной ситуации с...
76 просмотров
schedule 29.03.2024