I am learning C
and I am unsure where to include files. Basically I can do this in .c
or in .h
files:
Option 1
test.h
int my_func(char **var);
test.c
#include <stdio.h>
#include "test.h"
int my_func(char **var) {printf("%s\n", "foo");}
int main() {...}
Option 2
test.h
#include <stdio.h>
int my_func(char **var);
test.c
#include "test.h"
int my_func(char **var) {printf("%s\n", "foo");}
int main() {...}
With option 2 I would only need to include test.h
in whatever .c
file I need the library. Most of the examples I see use option 1.
Are there some general rules when to do what or is this a question of personal preferences?