Вопросы по теме '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 просмотров
schedule
24.05.2023
нарушение доступа к 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 просмотров
schedule
19.07.2023
Какой раздел стандарта C89 допускает неявное правило int?
При использовании gcc код:
register a = 3;
static b = 3;
это разрешено при использовании флагов -std=c89 -pedantic-errors , хотя есть предупреждение.
Однако он получает ошибку с флагами -std=c99 -pedantic-errors .
Интересно, какой...
768 просмотров
schedule
24.06.2022
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