Domenii de vizibilitate în C (Scope)
Am un exemplu simplu care arată domeniile de vizibilitate a variabilelor în embedded C:
Variabilele
O variabilă declarată în interiorul unui bloc de acolade este vizibilă doar în acel bloc şi în toate blocurile de cod din interiorul blocului unde a fost declarată variabila.
O variabilă declarată în interiorul unei funcţii este vizibilă doar în aceea funcţie dar în toate blocurile de cod din acea funcţie.
O variabilă declarată în interiorul unui fişier C este vizibilă doar în acel fişier dar în toate funcţiile şi blocurile de cod din acel fişier.
O variabilă declarată în interiorul unei funcţii este vizibilă doar în aceea funcţie dar în toate blocurile de cod din acea funcţie.
O variabilă declarată în interiorul unui fişier C este vizibilă doar în acel fişier dar în toate funcţiile şi blocurile de cod din acel fişier.
MISRA
Există şi o regulă MISRA care legiferează denumirea variabilelor :
"MISRA-C:2004, Rule 5.2: Identifiers in an inner scope shall not use the same name as
an identifier in an outer scope, and therefore hide that identifier."