To use in a different file, use extern to declare. Global variables have memory allocated at the start of program execution. Global variables are generally a bad idea. Automatic variables are those defined within some set of curly braces. It retains its value over function calls.
Functions are always global.
Just make sure a function prototype, or definition, appears before the function's use. Little type checking can be done. Any data type, including user-defined types, can be specified constant. Constant variables must be initialized on creation, and can't subsequently be modified. The first has value 48, the second has value 0, while the third is a length-two character array.