Разделить один большой .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;
Объяснение кода листинга программы
- В первой строке объявлена переменная
num
типа int и инициализирована значением 99.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д