Cabeçalhos
• Cada biblioteca-padrão tem um cabeçalho correspondente que contém os
protótipos e definições de função para todas as funções que compõem essa biblioteca.
• A figura a seguir lista alguns cabeçalhos da biblioteca-padrão que podem ser incluídos nos programas.
Cabeçalhos
• Você também pode criar um cabeçalho próprio, contendo o protótipo e
definição da respectiva função.
• Um cabeçalho definido pelo programador também deve utilizar a extensão .h
• Um cabeçalho definido pelo programador pode ser incluído em um programa utilizando a diretiva #include.
• Exemplo: se a definição da função maximum estiver localizada no
cabeçalho max.h, podemos incluir esse cabeçalho em nosso programa usando a seguinte diretiva:
Cabeçalhos
Cabeçalhos
Cabeçalhos
Cabeçalhos
Seguindo esse procedimento o cabeçalho será criado com a extensão .h e conterá algumas diretivas necessárias para funcionar corretamente.
Variáveis e armazenamento
• Já vimos que a declaração de uma variável necessita de alguns atributos como: tipo, nome e valor.
Exemplo:
int max = 0;
• O nome é utilizado por variáveis e funções para permitir que o compilador reconheça e identifique cada um desses elementos • Nome = identificador (sinônimo).
Escopo
• O escopo de um identificador é a parte do programa em que o identificador pode ser utilizado.
• Escopo = bloco de código onde uma variável é válida. • Variáveis Locais;
Variáveis Locais
• Variáveis locais são aquelas válidas apenas no interior da função onde ela está declarada.
Exemplo:
• Se declaramos int x dentro da função main, apenas a função main poderá utilizá-la para guardar dados e nenhuma outra função poderá modificar o int x da função main.
Variáveis Locais
• Perceba que a variável x só pode ser utilizada pela função main e a variável y só pode ser utilizada pela função obterY.
• Para utilizar o valor de y, foi necessário guardar esse valor em uma outra variável local da função main (valorY).
Variáveis Globais
• As variáveis globais são declaradas da mesma forma que uma variável local - primeiro o tipo, depois o nome da variável e se necessário inicializada com um valor.
• A diferença é que esta variável é declarada fora de qualquer função. • Variáveis globais podem ser utilizadas por qualquer função.
Variáveis Globais
• Perceba que a variável iniciado está sendo usada nas funções main e start. • Toda vez que a função start é chamada, soma-se um a iniciado.
• Dentro da função main existe a variável x, que também deve ser incrementada toda vez que chamamos main.
• As variáveis locais estão presas às funções. Cada vez que chamamos uma função, também chamamos as variáveis dentro da função. Se finalizamos uma função, também finalizamos a variável.
• Se reiniciamos a função, também reiniciamos a variável daquela função. Por isso x tem sempre o mesmo valor.
Variáveis Globais
• A variável global persiste na memória. O fato de reiniciar o programa pouco importa, porque o valor de iniciado não é reinicializado quando chamamos uma função (a não ser que o programa especifique isso).
• A desvantagem da variável global é a dificuldade de lidar com ela. Devemos usar variáveis globais apenas quando realmente necessário.
• Imagine usar uma variável global em um programa com 10 ou mais funções, todas elas utilizando e alterando uma mesma variável global.
• Ao final das operações, dificilmente será possível prever o resultado. Isso dificulta a lógica do nosso programa, deixando-o difícil de interpretar.
Locais x Globais
• É muito comum programadores iniciantes confundirem as variáveis declaradas em main( ) com variáveis globais. Isto é um erro
conceitual.
• As variáveis declaradas dentro da função main( ) são locais à mesma. • Para ser global a variável tem que ser declarada fora do bloco de
qualquer outra função, inclusive fora da main().
Podem existir variáveis locais e globais com o mesmo nome?
• Sim. Caso isto ocorra, as variáveis irão se comportar como variáveis diferentes, embora possuam o mesmo nome.