Buscar

3.declaracao_acesso_init_const

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 3, do total de 20 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 6, do total de 20 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 9, do total de 20 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Prévia do material em texto

Tipos de Acesso, Inicialização e 
Constantes 
Declarações 
Objetivo 
 Continuação... 
 
 ESPECIFICADOR de TIPO de ACESSO 
 const e volatile 
 
 Além disso, discutiremos as regras gerais 
do processo de INICIALIZAÇÃO de 
VARIÁVEIS e ao final apresentaremos a 
forma das CONSTANTES associadas aos 
tipos básicos de dados em C. 
 
2 
Especificador de Tipo de 
Acesso 
 Em uma declaração de variáveis (globais 
ou locais), um ESPECIFICADOR de TIPO de 
ACESSO pode ser utilizado para estabelecer 
a maneira como as variáveis podem ser 
acessadas ou modificadas. 
 Em C, há duas PALAVRAS RESERVADAS 
que funcionam como ESPECIFICADORES de 
TIPO de ACESSO durante uma declaração 
de variáveis: 
 const 
 volatile 
 
3 
const 
 variáveis declaradas const podem ser 
inicializadas mas não modificadas 
 usar const é útil quando vc. quer ter 
certeza que (parte do) seu código não irá 
alterar valores de certas variáveis; uma 
situação típica é na declaração de 
CONSTANTES SIMBÓLICAS, como em: 
 
const double PI = 3.1415927; 
4 
volatile 
 este ESPECIFICADOR indica que a variável 
pode sofrer modificações de maneira não 
especificada pelo programa. 
 Em outras palavras, uma variável volatile 
pode ter seu conteúdo alterado (via 
apontadores e endereços) por comandos 
que fazem parte de outros programas. 
 Na prática, volatile indica ao compilador 
para não realizar otimização de 
EXPRESSÕES contendo tais variáveis. 
 
5 
const e volatile juntos 
 Os ESPECIFICADORES const e volatile 
podem ser utilizados juntos! 
 Exemplo: 
 
 
 
 Neste exemplo, a variável port não pode 
ser modificado pelo programa sendo escrito 
mas pode ter seu valor modificado por 
comandos externos ao programa! 
const volatile unsigned short int port = 80; 
6 
Atividade 1: variáveis const 
1. const int x = 100; 
 
2. int main() { 
3. x = x + 1; /* Isto irá gerar um erro de 
compilação */ 
4. } 
 
Teste o código abaixo e observe o Erro de Compilação ! 
7 
Inicialização de Variáveis 
 Inicializar uma variável significa dar à 
variável um valor, no mesmo momento em 
que ela é declarada. 
 
 De maneira geral, o valor inicial de uma 
variável pode ser o resultado de uma 
EXPRESSÃO envolvendo dentre outros 
CONSTANTES, OPERADORES e outras 
VARIÁVEIS. 
8 
Regras para inicialização 
 Variáveis GLOBAIS e variáveis LOCAIS 
static declaradas COM =INICIALIZADOR 
são inicializadas com o valor de 
INICIALIZADOR apenas uma vez no 
começo do programa 
 Variáveis GLOBAIS e variáveis LOCAIS 
static declaradas SEM =INICIALIZADOR 
são inicializadas com ZERO apenas uma 
vez no começo do programa 
 
9 
Regras para inicialização 
 Variáveis LOCAIS auto e register declaradas 
COM =INICIALIZADOR são inicializadas com o 
valor de INICIALIZADOR toda vez que o 
BLOCO no qual foram declaradas for ativado 
 Variáveis LOCAIS auto e register declaradas 
SEM =INICIALIZADOR têm valor 
DESCONHECIDO antes de ser efetuada uma 
primeira atribuição a elas 
 Apenas DECLARAÇÕES que são DEFINIÇÕES 
podem conter =INICIALIZADOR. Assim, 
variáveis declaradas extern não podem ser 
inicializadas no momento de suas declarações! 
 
10 
Atividade 2: Inicialização de 
Variáveis 
 Compile, execute e compare a saída do 
programa abaixo com o que foi dito acima 
sobre inicialização de variáveis: 
 
 Fonte 
 
11 
Constantes 
 Um dos elementos principais na 
INICIALIZAÇÃO de VARIÁVEIS (e de 
EXPRESSÕES em geral) são as constantes. 
 
 Constantes são VALORES ESPECÍFICOS de 
qualquer um dos TIPOS de DADOS básicos. 
12 
Constantes 
13 
Constantes 
14 
Constantes 
 Nas constantes caracter e string, além dos 
caracteres comuns, caracteres de controle 
(não imprimíveis) são escritos através de 
um 'código de barra invertida' (veja tabela 
a seguir) 
 Não confunda constantes caracter com 
string! Uma constante de um único caracter 
é colocada entre aspas simples; constantes 
string são colocadas entre aspas duplas. 
Ou seja,'a' (constante char) é diferente de 
"a" (constante string) 
 
15 
Constantes 
16 
Leitura Recomendada 
 C Completo e Total capítulo 2 
 
17 
Exercícios 
1. Considere o programa da atividade 2. 
Descreva passo a passo como o ambiente 
de execução (área estática de dados + 
pilha de execução) evolui durante a 
execução do programa. Na sua descrição 
localize onde são alocadas as variáveis do 
programa. 
2. Explique qual a diferença entre '0', '\0', 
"0“ 
18 
Exercícios 
3. A matemática e a física é repleta de 
exemplos de constantes fundamentais. 
Utilizando variáveis decladas com o 
ESPECIFICADOR const, mostre como você 
representaria as seguintes constantes 
abaixo: 
a) razão áurea (f); 
b) número de Euler (e); 
c) velocidade da luz no vácuo (c); 
d) massa do elétron em repouso (me); 
e) número de Avogadro (L); 
 
19 
Exercícios 
4) Escreva um programa que converta 
números de decimais para hexadecimal e 
octal. Dica: uma maneira simples de fazer 
o programa é ler os números em decimal 
e os imprimir na tela como constantes 
inteiras escritas em hexadecimal e octal. 
Para saber como usar a função printf para 
imprimir inteiros em hexadecimal e octal 
cosulte os livros ou a internet. Veja por 
exemplo, a página abaixo: 
 http://www.dca.fee.unicamp.br/cursos/EA87
6/apostila/HTML/node131.html 
 
 
20

Outros materiais