Esta página também está disponível em outros 2 idiomas.

escopo

[Variable Scope & Qualifiers]

Descrição

Variáveis na linguagem de programação C++, a qual o Arduino usa, possuem uma propriedade chamada escopo. Isso contrasta com antigas versões de linguagens como o BASIC onde toda variável era uma variável global.

Uma variável global é uma que pode ser vista por todas as funções de um programa. Diferentemente, variáveis locais são visíveis apenas às funções nas quais são declaradas. No ambiente Arduino, qualquer variável declarada fora de uma função (ex. setup(), loop(), etc. ), é uma variável _ global_.

Quando programas começam a ficar muito longos e complexos, variáveis locais são uma forma útil de garantir que apenas uma função tenha acesso as suas próprias variáveis. Isso previne erros de programação quando uma função inadvertidamente modifica variáveis usadas por outra função.

Às vezes também é vantajoso declarar e inicializar uma variável dentro de um loop for. Isso cria uma variável que pode ser acessada apenas dentro do próprio bloco do loop for.

Código de Exemplo

int gPWMval;  // qualquer função poderá acessar essa variável

void setup() {
  // ...
}

void loop() {
  int i;    // "i" é "visível" apenas dentro de "loop"
  float f;  // "f" é "visível" apenas dentro de "loop"
  // ...

  for (int j = 0; j < 100; j++) {
    // a variável j pode ser acessada apenas dentro das chaves do loop for
  }
}

Ver Também