Soit le programme C définit par les 3 fichiers suivants:
main.c:
#include <stdlib.h>
#include <stdio.h>
#include "module_a.h"
#include "module_b.h"
extern char* str_a;
extern char* str_b;
void func_a() {
printf("%s\n", str_a);
printf("%s\n", str_b);
func_c();
}
int main(int argc, char const *argv[]) {
func_a();
func_b();
func_c();
return EXIT_SUCCESS;
}
module_a.c:
#include "module_a.h"
char* str_a = "Bonjour";
static char* str_b = "Salut";
static void func_a() {
printf("%s\n", str_b);
}
void func_b() {
func_a();
}
static void func_c() {
printf("Ciao");
}
module_b.c:
#include "module_b.h"
static char* str_a = "Coucou";
char* str_b = "Hello";
static void func_b() {
static int a = 0;
int b = 0;
printf("%s (a = %d; b = %d)\n", str_a, a, b);
a++;
b++;
}
void func_c() {
func_b();
}
INGInious