Ferramentas do usuário

Ferramentas do site


const

Diferenças

Aqui você vê as diferenças entre duas revisões dessa página.


const [2023/09/12 16:14] (atual) – criada - edição externa 127.0.0.1
Linha 1: Linha 1:
 +====== Definição de Constantes ======
  
 +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 [[variavel_definicao|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:
 +<code c>
 +const float fValorSalário = 5000; /* Se for constante nunca receberei aumento ???*/
 +const char cSexo = ‘M’; /* Com certeza !!! */
 +</code>
 +
 +===== Constantes Numéricas =====
 +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:
 +   * Números inteiros - De uma maneira geral basta colocar o número no programa para que o compilador entenda o formato e trabalhe de maneira adequada. Para números de tipo [[tipos_dados|long]] deve-se colocar a letra **L** (exemplo: 20L)
 +   * Números reais - A exceção vale quando se quer colocar uma constante [[tipos_dados|float]] que neste caso precisa-se indicar o formato através da letra **F** no final ou utilizar o formato de ponto flutuante (exemplos: 1.0 ou 1F) para que compilador entenda. Pode-se também utilizar o formato científico para isto (exemplo: 0.1E+1).
 +   * Números octais - Se um número iniciar por zero o compilador irá considerar este número como **OCTAL**, mudando o valor final. Exemplo: Se no programa for colocar ''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.
 +   * Números hexadecimais - Uma outra maneira de indicar um número para o compilador é o formato em **HEXADECIMAL**. Este formato é muito útil quando se trabalha com bits e operações para ligar ou desligar determinados bits de uma variável. Uma constante será considerada em hexadecimal se a mesma começar por ''0x''. Neste caso são aceitos os dígitos 0 a 9 e as letras ''‘a’'' a ''‘f’'', maiúsculas ou minúsculas.
 +
 +===== Outras Constantes =====
 +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.eti.br|Marcos Laureano]] 2008/04/25 09:57//