global, header files and pointers

A few questions.

Are variables declared in a header file that is included in the main global variables?

Is there anything wrong with having multiple functions reading in a global variable that is constantly being updated/changed by another function?

Should I be using pointers for the question above? As in having one function update a variable and having pointers to access them for other functions instead of declaring a global? What are the differences?

Thanks for your time!