El concepto de ámbito de una variable hace referencia a la zona del programa donde una variable es visible. Es decir, el ámbito nos dice desde qué parte del programa se puede acceder al contenido de una variable para poder manipularla y utilizarla. Así pues, observamos que el concepto de ámbito (también conocido como scope) hace referencia a una región del programa.
En lenguajes como C, todas las variables se encuentran limitadas dentro un ámbito. Sin embargo, en función del tipo de variable, el ámbito de la misma varía. No es lo mismo utilizar una variable global que una variable local: su tiempo de vida es diferente y la forma de acceder a ellas también es diferente. Es por ello que podemos identificar diferentes tipos de ámbito:
- Ámbito local / Ámbito de bloque: aquel que hace referencia a una función o bloque. Toda región delimitada por {} será considerada como un bloque, y todas las variables que se encuentren declaradas dentro de estos corchetes tendrán un ámbito de carácter local. No obstante, dentro de un bloque puede haber otros bloques. Todas las variables de ámbito local serán accesibles desde el bloque en el que se declaran y todos sus bloques internos. Fuera de este bloque no se podrá acceder a las variables declaradas en él.
- Ámbito global: incluye a las variables globales, es decir, a todas aquellas variables que no pertenecen a un bloque o grupo en particular. Dado que este tipo de variables almacena su valor durante todo el programa, el hecho de tener un ámbito global hace posible que se pueda acceder a las mismas independientemente de la parte del programa en el que nos encontremos. Aquellas variables declaradas con ámbito global podrán ser utilizadas por todas las funciones de un programa.

Para seguir aprendiendo…
Wikipedia: Ámbito (programación)
Uniwebsidad: Ámbito de las variables
W3Schools: C Variable Scope