/
bvs22
/
draft
Обзор
Документация
Войти
/
bvs22
/
draft
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
example_usage/example_header.h
90 строк
3 KB
Batomunkuev Vladimir
Add header files examples and documentation
05 дек 2024, 12:30
05 дек 2024, 12:30
82e06a5
Код
Авторство
О чём код?
/* * Заголовочный файл example_header.h * Описание: Пример правильно оформленного заголовочного файла * Автор: Vladimir * Дата: 2024 */ #ifndef EXAMPLE_HEADER_H /* Защита от повторного включения */ #define EXAMPLE_HEADER_H /* Подключение необходимых стандартных заголовочных файлов */ #include <stdio.h> #include <stdlib.h> /* Определение констант */ #define MAX_SIZE 100 #define PI 3.14159 #define VERSION "1.0.0" /* Определение пользовательских типов данных */ typedef struct { int x; int y; } Point; typedef enum { SUCCESS = 0, ERROR_NULL_POINTER = -1, ERROR_OUT_OF_MEMORY = -2, ERROR_INVALID_ARGUMENT = -3 } ErrorCode; /* Определение структуры (только объявление, реализация будет скрыта) */ typedef struct List* List; /* * Объявления функций * Каждая функция должна иметь комментарий, описывающий: * - Что делает функция * - Параметры и их назначение * - Возвращаемое значение * - Возможные ошибки */ /** * @brief Создает новый список * @param initial_capacity Начальная емкость списка * @return Указатель на новый список или NULL при ошибке */ List create_list(int initial_capacity); /** * @brief Добавляет элемент в список * @param list Указатель на список * @param value Значение для добавления * @return ErrorCode: SUCCESS при успехе, код ошибки при неудаче */ ErrorCode list_add(List list, int value); /** * @brief Получает элемент по индексу * @param list Указатель на список * @param index Индекс элемента * @param value Указатель для сохранения значения * @return ErrorCode: SUCCESS при успехе, код ошибки при неудаче */ ErrorCode list_get(List list, int index, int* value); /** * @brief Удаляет список и освобождает память * @param list Указатель на список */ void destroy_list(List list); /** * @brief Вычисляет расстояние между двумя точками * @param p1 Первая точка * @param p2 Вторая точка * @return Расстояние между точками */ double calculate_distance(Point p1, Point p2); /* * Если нужны глобальные переменные (старайтесь избегать), * объявляйте их как extern */ extern int global_error_code; /* Конец защиты от повторного включения */ #endif /* EXAMPLE_HEADER_H */