Curso de C
Formatação do Código


Você está em: MarMSX >> Cursos >> C   O objetivo deste capítulo é mostrar ao leitor, como a convenção da identação C ajuda a leitura e compreensão do programa.

  Veja o exemplo a seguir em C.
#include <stdio.h>

int a,b;

main()
{
a=5;
b=0;

while (a>=b)
{
if (a>b)
printf("a ainda é maior\n");
else
printf("a é igual a b\n");
a++;
b+=2;
}
}

  O programa apresentado é compilado e funciona normalmente. Entretanto, é difícil identificar as estruturas do programa, como os IFs, WHILEs etc. Com várias estruturas aninhadas (uma dentro da outra), fica ainda mais difícil saber onde começa e termina o código de cada uma delas.

  A identação, ou colocar espaços em branco antes, serve para alinhar a partir da mesma coluna os comandos que pertencem a uma determinada estrutura, de forma a realçá-la e aumentar a legibilidade do código. Não há uma regra fixa sobre a quantidade de espaços em branco, mas normalmente se utilizam 2, 4 ou o espaço de uma tabulação.

  O programa anterior foi identado com 2 espaços em branco para cada estrutura. Observe como melhorou a compreensão do código.
#include <stdio.h>

int a,b;

main()
{
  a=5;
  b=0;

  while (a>=b)
  {
    if (a>b)
      printf("a ainda é maior\n");
    else
      printf("a é igual a b\n");
    a++;
    b+=2;
  }
}

  A seguir, serão destacadas cada estrutura do código.
#include <stdio.h>

int a,b;

main() { a=5; b=0;
while (a>=b) {
if (a>b) printf("a ainda é maior\n"); else printf("a é igual a b\n");
a++; b+=2; }
}

  Observando o diagrama acima, tudo que está no conjunto vermelho pertence ao corpo principal do programa, em azul ao WHILE e em verde ao IF.

  Importante: nem tudo que está na mesma coluna pertence à mesma estrutura, uma vez que a estrutura é delimitada pelos marcadores de inicio e fim. Veja o exemplo a seguir.
#include <stdio.h>

int a,b;

main() { a=5; b=0;
while (a>=b) {
if (a>b) printf("a ainda é maior\n");
if (a==b) printf("a é igual a b\n");
a++; b+=2; }
}

  As estruturas IF assinaladas em verde são duas estruturas distintas, entretanto ambas estão na "raiz" da estrutura WHILE, assinalada em azul.


<< Anterior Linguagem C Próxima >>