Muitas vezes é desejável que além de uma variável possuir um valor pré-definido, quer-se que este valor não seja modificado por nenhuma função de um programa.
Para que isto aconteça deve-se colocar a palavra const antes da definição da variável, indicando ao compilador que quando detectar uma mudança de valor da variável, seja emitida uma mensagem de erro.
Este instrumento é muito utilizado para documentar a passagem de parâmetros de uma função, indicando que um determinado parâmetro não será alterado pela função.
Exemplos:
const float fValorSalário = 5000; /* Se for constante nunca receberei aumento ???*/ const char cSexo = ‘M’; /* Com certeza !!! */
Sempre é preciso colocar constantes em um programa. A linguagem C permite a colocação de constantes, exigindo, porém uma sintaxe diferenciada para que o compilador identifique o tipo da constante e realize o processamento adequado dela.
Na linguagem C têm-se os seguintes formatos para as constantes numéricas:
010, o compilador entenderá que foi colocado o valor 8 no programa, pois 010 é a representação octal do número 8.
Outro exemplo: Se colocado 0019 será gerado um erro de compilação, pois o compilador não aceita os dígitos 8 e 9 em um número octal.
0x. Neste caso são aceitos os dígitos 0 a 9 e as letras ‘a’ a ‘f’, maiúsculas ou minúsculas.Além das constantes numéricas pode-se colocar constantes do tipo caractere. O compilador identifica estas constantes através dos apóstrofos. O compilador permite que se coloque um único caractere entre apóstrofo.
Existe uma maneira alternativa de se indicar o caractere quando o mesmo é um caractere de controle. Para isto basta colocar entre apóstrofo a barra invertida e o código ASCII do caractere desejado. Por exemplo, para se colocar um <Ctrl>A em uma variável pode-se colocar ‘\1’, para se colocar um <ENTER> utiliza-se a constante ‘\13’.
Como alguns caracteres de controle são muito usados existe uma maneira especial de se indicar estes caracteres. Abaixo estão alguns formatos interpretados pelo compilador:
| Código | Significado |
|---|---|
| \b | Retrocesso (back) |
| \f | Alimentação de formulário (form feed) |
| \n | Nova linha (new line) |
| \t | Tabulação horizontal (tab) |
| \“ | Aspas |
| \' | Apóstrofo |
| \0 | Nulo (0 em decimal) |
| \\ | Barra invertida |
| \v | Tabulação vertical |
| \a | Sinal sonoro (beep) |
| \N | Constante octal (N é o valor da constante) |
| \xN | Constante hexadecimal (N é o valor da constante) |
De uma maneira geral toda vez que o compilador encontrar a barra invertida ele não processará o próximo caractere, a não ser que seja um dos indicados acima.
O compilador também permite a criação de strings de caracteres. Para se colocar constantes deste tipo deve-se colocar a string entre aspas. Podem-se colocar caracteres especiais utilizando o formato visto acima dentro da string que o compilador irá gerar o código adequado.
— Marcos Laureano 2008/04/25 09:57