What is Input & Output Redirection?


How do we use #include Header Files to;

reuse Macros & typedef?

How do we use #include Header Files to;

share Function Prototypes?

How do we use extern to;

share Variable Declarations?


Short Example

/* extern.h */
void printFoo(void);

extern int i; // used to type check or allow the source code to access 'i'

/* extern.c */
#include <stdio.h>
#include "extern.h"

int i = 3; // original variable declaration

void printFoo(void)
{
    printf("Foo!");
}

/* main.c */
#include <stdio.h>
#include "extern.h"

int main(void)
{
    printf("%d\\n", i); // using 'i' without any declaration through 'extern int i'
    printFoo();
}