Разделить один большой .c файл на несколько - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Просьба помочь разделить один большой .c файл на несколько. Цели: 1. Разделить куски кода на функции 2. Вынести большие функции в отдельные файлы 3. Остальные мелкие функции вынести в один .c файл У меня нет полного понимания как решить правильно следующие задачи: 1. Организация заголовочных файлов. 2. #include они должны быть в файле с main() или в файлах, в которых описаны функции? 3. Передача аргументов в функции. 4. Наследование динамических переменных или массивов, инициализация в правильных местах. Буду отдельно благодарен за ссылку на маленькую программу на Си, в которой хорошо организованы исходники. Покажите, пожалуйста, как приведённый шаблон преобразовать в отдельные .c и .h файлы:
#include <stdio.h>
#include <stdbool.h>
#include <stddef.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include <time.h>
#include <sys/time.h>
 
long long small_function_1(void);
void small_function_2(size_t **, size_t *);
float small_function_3(size_t *, float *, size_t *, bool);
 
int main(int argn, char *argv[])
{
 
// Это часть кода, которая может стать первой большой функцией и быть вынесенной в первый отдельный .c файл
    FILE *some_variable_1;
    ptrfile=fopen(argv[1],"r+");
    .
    .
    printf ("%zd",small_function_1());
    .
    .
// Это конец первой части кода

// Это часть кода, которая может стать второй большой функцией и быть вынесенной во второй отдельный .c файл
    size_t *some_variable_2;
 
    for (size_t i=0; i < 1000; ++i) {
        .
        .
        float some_variable_3 = small_function_3(some_array_1,some_array_2,&,true);
        .
        .
    }
    .
    small_function_2(&some_array_3,&size_of_some_array_3);
    .
    .
// Это конец второй части кода
 
    return(EXIT_SUCCESS);
}
 
// Нескольких мелких функций могут быть вынесены в один общий .с файл
long long small_function_1(void) {
  return some_some_variable_1;
}
 
void small_function_2(size_t **, size_t *) {
}
 
float small_function_3(size_t *, float *, size_t *, bool) {
    return facts[0];
}

Решение задачи: «Разделить один большой .c файл на несколько»

textual
Листинг программы
int num = 99;

Объяснение кода листинга программы

  1. В первой строке объявлена переменная num типа int и инициализирована значением 99.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 4.077 из 5
Похожие ответы