70 likes | 222 Views
Ponteiros. Ponteiros são variáveis que guardam localizações em memória. A declaração de uma variável ponteiro x para um dado tipo type é type *x; Essa declaração pode ser feita ao mesmo tempo que a de variáveis normais type *x, y, *z;
E N D
Ponteiros Ponteiros são variáveis que guardam localizações em memória. A declaração de uma variável ponteiro x para um dado tipo typeé type *x; Essa declaração pode ser feita ao mesmo tempo que a de variáveis normais type *x, y, *z; declarando duas variáveis ponteiro (x e z) e uma variável normal (y).
Ponteiros Uma variável ponteiro tem, por sua vez, uma localização em memória. Logo podemos ter uma variável ponteiro que guarda a localização em memória da anterior. Ela é declarada como type **w; que por sua vez tem uma localização em memória. Logo podemos ter uma variável ponteiro que guarda a localização em memória da anterior. Ela é declarada como type ***r; E assim por diante
Ponteiros Os ponteiros têm operações próprias que lhes estão associadas: & retorna o endereço em memória de uma variável; * retorna o conteúdo de uma zona de memória. Exemplo: #include <stdio.h> int main(){ float x=10.; float *y=&x; /* ponteiro para x */ printf("Localizacao de x: %p;\tvalor na localizacao: %f\n", &x, *y); return 0; } O resultado é (na minha máquina): Localizacao de x: 0xbfbafea4; valor na localizacao: 10.000000
Matrizes e ponteiros Matriz: type a[l][m]; type **p=a; Uma matriz em C é um vector de vectores ou seja, um vector de ponteiros, ou seja um ponteiro para ponteiro:
Strings ‘T’ ‘F’ ‘C’ ‘O’ ‘M’ ‘\0’ Uma string é um vector de caracteres: Uma frase é um vector de strings ou seja, uma matriz de caracteres
Os argumentos de main A função main admite dois argumentos, um do tipo inteiro e outro do tipo matriz de char. Convenciona-se chamar (por tradição, porque a linguagem não obriga a isso) argc (de argument counter) e argv (de argument values). O primeiro contém o número de argumentos do programa incluindo o próprio nome do programa enquanto o segundo contém os argumentos propriamente ditos como strings.
Os argumentos de main Um caso concreto: logistr1.6x00.75