Example initial file: main_single_file.c.
Divided into several files:
main.ctypes.hspecial_functions.cspecial_functions.h
Tutorial instructions here.
| #include <stdio.h> | |
| /* Extra files headers */ | |
| #include "types.h" | |
| #include "special_functions.h" | |
| void helper_function(); | |
| /* Main program */ | |
| int main() { | |
| struct struct_type my_struct = { .val1 = 1 , .val2 = 1}; | |
| union union_type my_union = { .n = 1 }; | |
| special_function(my_struct, my_union); | |
| helper_function(); | |
| printf("Success!\n"); | |
| return 0; | |
| } | |
| void helper_function() { | |
| printf("helper function: I'm called from main!\n"); | |
| } |
| #include <stdio.h> | |
| /* Type definitions */ | |
| typedef int my_type; | |
| struct struct_type { | |
| my_type val1; | |
| int val2; | |
| }; | |
| union union_type { | |
| my_type n; | |
| char c; | |
| }; | |
| /* Extra function prototypes */ | |
| void special_function(struct struct_type my_struct, union union_type my_union); | |
| void helper_function(); | |
| /* Main program */ | |
| int main() { | |
| struct struct_type my_struct = { .val1 = 1 , .val2 = 1}; | |
| union union_type my_union = { .n = 1 }; | |
| special_function(my_struct, my_union); | |
| printf("Success!\n"); | |
| return 0; | |
| } | |
| /* Extra function definitions */ | |
| void special_function(struct struct_type my_struct, union union_type my_union) { | |
| helper_function(); | |
| } | |
| void helper_function() { | |
| printf("helper function: I'm called by special_function!\n"); | |
| } |
| all: main.c special_functions.c types.h | |
| gcc main.c special_functions.c -o main |
Example initial file: main_single_file.c.
Divided into several files:
main.ctypes.hspecial_functions.cspecial_functions.hTutorial instructions here.
| #include <stdio.h> | |
| #include "types.h" | |
| static void helper_function(); | |
| /* Extra function definitions */ | |
| void special_function(struct struct_type my_struct, union union_type my_union) { | |
| helper_function(); | |
| } | |
| static void helper_function() { | |
| printf("helper function: I'm called by special_function!\n"); | |
| } |
| #ifndef SPECIAL_FUNCTIONS_H | |
| #define SPECIAL_FUNCTIONS_H | |
| /* Extra function prototypes */ | |
| void special_function(struct struct_type my_struct, union union_type my_union); | |
| #endif |
| #ifndef TYPES_H | |
| #define TYPES_H | |
| /* Type definitions */ | |
| typedef int my_type; | |
| struct struct_type { | |
| my_type val1; | |
| int val2; | |
| }; | |
| union union_type { | |
| my_type n; | |
| char c; | |
| }; | |
| #endif |