Você está na página 1de 7

Centro de Tecnologia Microgenios - Todos os direitos reservados

Clique aqui para Imprimir o doc

umento

Variveis e Tipos de Dados

1.0 Os indetificadores
1.1 Tipos de dados
1.1 Modificadores de Tipo
1.1 Declarao de variveis
1.1 Variveis globais:
1.1 Variveis locais:

Os indetificadores
A linguagem C define identificadores como sendo nomes usados para se fazer
referncia a entidades do programa (variveis, funes, rtulos, etc.) definidas pelo
programador. Em C, um identificador composto de um ou mais caracteres, sendo
que, para identificadores internos, os 31 primeiros so significativos. O primeiro
caractere deve ser uma letra ou um sublinha (_) e os caracteres subseqentes
devem ser letras, nmeros ou sublinhas. Eis aqui alguns exemplos de
identificadores corretos e incorretos:
Corretos

Incorretos descrio
Um identificador deve sempre comear com
cont
1cont
uma letra do alfabeto, nunca por um nmero.
Um identificador no pode conter
valor23
al
acentos (, ^, ~, )
Um identificador no pode conter
totalGeral valor-total
simbolos (-)
Isto quer dizer que se duas variveis tm em comum os 31 primeiros caracteres e
diferem apenas a partir do trigsimo segundo, o compilador C no ser capaz de
distingui-Ias. Por exemplo, esses dois identificadores so iguais:

isto_e_um_exemplo_de_um_nome_longo
isto_e_um_exemplo_de_um_nome_longo_tambem

voltar para o topo da pgina

Tipos de dados
Existem cinco tipos primitivos de dados em C suportados no mikroC: caractere,
inteiro, ponto flutuante (float e double) e sem valor. As palavras reservadas usadas
para declarar variveis desse tipo so char, int, float/double e void,
respectivamente. A tabela abaixo representa o valor e a escala de cada tipo de
dado em C.

TIPO

TAMANHO
INTERVALO
EM BITS

char

int

float

32

void

0 a 255
0 a 255
3.4E-38 a
3.4E+38
nenhum valor

O tipo char utilizado para representao de caracteres ASCII de 8 bits. Cada


varivel do tipo char pode representar um caractere ASCII. O tipo int utilizado
para representar nmeros inteiros de 8 bits (0 a 255). Estes tipos de dados so
amplamente usados em programao C.
O tipo char e int representam nmeros inteiros e no podem ser utilizados para
representar nmeros frcionrios. Para isso, deve ser utilizado o tipo float,
tambm chamado de ponto flutuante.
O tipo float deve ser evitado ao mximo e restrito apenas s operaes que
realmente necessitarem de um tipo de dados como este.
voltar para o topo da pgina

Modificadores de Tipo
Podemos utilizar comandos especiais do C para obter outros tipos de dados. Esses
comandos especiais so chamados de modificadores de tipo e so os seguintes:
signed, unsigned, short, e long.
O modificador de tipo signed pode ser utilizado para modificar um tipo base de
dados para que ele possa representar um nmero positivo ou negativo;
O modificador short utilizado para definir uma varivel com tamanho menor que
o tipo modificado, ou seja, uma verso reduzida do tipo especificado.
O modificador long utilizado para ampliar a magnitude de representao do tipo
especificado.

TIPO TAMANHO

RANGER

(unsigned )
8 -bit
char
signed char 8 -bit
(signed)
8 - bit
short (int)
unsigned
8 - bit
short (int)
(signed) int 16 - bit
unsigned
16 - bit
int
(signed)
32 - bit
long int
unsigned
32 - bit
long int

0 255
-128 +127
-128 +127
0 255
-32768 32767
0 65535
-2147483648
2147483647
0 4294967295

+/- 1.17549435082E-38
+/6.80564774407E38
+/1.17549435082Edouble
32 - bit
38 +/6.80564774407E38
+/1.17549435082Elong double 32 - bit
38 +/6.80564774407E38
void
nulo
sem valor
Obs: tipos de float, double e long double so considerados do mesmo tipo
no mikroC.
float

32 - bit

voltar para o topo da pgina

Declarao de variveis
Definir uma varivel cri-la na memria (aloc-la), dar a ela um nome e
especificar o tipo de dado que nela vai armazenar.
Varivel, do ponto de vista da rea de programao, uma regio de memria
previamente identicada que tem por finalidade armazenar os dados ou informaes
de um programa por um determinado espao de tempo. Uma varivel llimita-se a
armazenar apenas um valor por vez.
Sintaxe para criao de uma varivel em C;
<tipo> nome_da_variavel;
O tipo deve ser um tipo de dado vlido em C tais como: char, int, float, com ou
sem seus modificadores, unsigned, signed, short e long. E nome_da_variavel o
nome da varivel adotada pelo programador.

Em C, podemos declarar vrias variveis do mesmo tipo em um nica linha de


programa, bastando apenas separ-las por vrgulas, acompanhe:

int soma ;
unsigned char i,j,k ;
float salrio;
unsigned int idade;
short int y;
long caminho, estado;
unsigned valor;

Outro aspecto importante da declarao das variveis o local onde so declaradas.


Basicamente, uma varivel pode ser declarada em dois pontos distintos do programa:
voltar para o topo da pgina

Variveis globais:
No corpo principal do programa: variveis declaradas no corpo principal do programa
so variveis globais que podem se acessadas por qualquer funo do programa. Essas
variveis esto fora de qualquer funo do programa, inclusive a funo main().
Exemplo:
int contador;
char a;
void main()
{

//define a varivel global "contador" como inteiro


//define a varivel global "a" como char
//funo principal do programa

contador = contador + 10
}

Repare que as variveis "contador" e "a" forma definidas fora de qualquer funo do
programa, essas variveis sero tratadas como variveis globais e seus dados podero
ser manipulados por qualquer funo do programa;
Vamos apresentar mais um exemplo de programa utilizando as variveis globais:
int contador;
como inteiro
char a;
char

//define a varivel global "contador"


//define a varivel global

"a" como

void subrotina ()
//funo de sub-rotina qualquer do
programa
{
contador = contador - 20;
a = 100;
}

void main()
//funo principal do programa
{
contador = contador + 10;
a = 55;
}
Repare no programa exemplo acima que as variveis "contador" e "a" esto sendo
manipuladas no corpo da funo main() e na funo subrotina(). Este tipo de
manipulao de variveis somente possvel se declararmos como sendo do tipo
GLOBAIS, ou seja, necessriamente devemos defini-las no corpo do programa (fora de
qualquer funo do programa, inslusive a funo main()).
voltar para o topo da pgina

Variveis locais:
Ao contrrio das variveis globais, uma varivel local somente existe dentro da funo
em que foi declarada. Isto significa que uma varivel local somente existe enquanto a
funo esta sendo executada. No momento que ocorre o retorno da funo, as variveis
locais so descartadas;
Acompanhe o exemplo abaixo:
void main()
//funo principal do programa
{
int contador;
//define a varivel local "contador" como int
contador = contador + 10
}

Repare que a varivel "contador" foi declarada (criada) dentro da funo main(), as
varivel locais somente ter validade dentro da funo que a declarou, neste caso,
"contador" somente poder ser manipulada no programa dentro da funo main().

Acompanhe mais um exemplo de varivel local:

void subrotina ()
programa
{
int tempo;
tempo = tempo * 2;
}

//funo de sub-rotia qualquer do

void main()
//funo principal do programa
{
int tempo;
tempo = tempo / 2;
}
Repare no programa exemplo acima que temos duas funes, a funo main() e a
funo subrotina(). Dentro de cada uma dessas funes foram criada uma varivel
chamada "tempo" do tipo int, essas variveis so locais e somente tem validade dentro
da funo que a declarou, ou seja, a varivel "tempo" da funo subrotina() NO tem
nenhuma ligao com a varivel "tempo" da funo main(), pois so variveis locais;
Se por ventura cometermos o seguinte erro abaixo, acompanhe:
void subrotina ()
programa
{
tempo = tempo * 2;
}
void main()
{
int tempo;
}

//funo de sub-rotia qualquer do

//funo principal do programa

Repare que a varivel "tempo" foi declarada unicamente dentro da funo main() e que
seus dados esto sendo manipuladas por outra funo chamada subrotina(). Ao
compilarmos este programa, certamente o compilador apresentar um erro de
compilao nos informando que a varivel "tempo" no foi definida. Esse um erro
comum que muitos programadores inexperientes cometem na linguagem C, pois
esquecem que uma varivel local somente tem validade dentro da funo que a
declarou.
Podemos declarar variveis como parmetros formais de uma funo, que so tambm
tratadas como variveis locais. Iremos estudar esse tipo de varivel quando estivermos
falando de funes em nosso curso;
voltar para o topo da pgina

Centro de Tecnologia Microgenios - Curso de Microcontroladores PIC - Programao


em C
Microgenios 1998 - 2007. Todos os direitos reservados. proibido cpia parcial ou
integral desse material sem prvio aviso. Maiores informaes:
suporte@microgenios.com.br

Você também pode gostar