Ponteiros
-Ponteiros para Ponteiros
Podemos declarar um ponteiro para um ponteiro com a seguinte notação: tipo_da_variável **nome_da_variável;
Algumas considerações:
**nome_da_variável é o conteúdo final da variável apontada;
*nome_da_variável é o conteúdo do ponteiro intermediário.
No C podemos declarar ponteiros para ponteiros para ponteiros, ou então, ponteiros para ponteiros para ponteiros para ponteiros e assim por diante. Para fazer isto basta aumentar o número de asteriscos na declaração. Para acessar o valor desejado apontado por um ponteiro para ponteiro, o operador asterisco deve ser aplicado duas vezes, como mostrado noexemplo a seguir:
#include <stdio.h> main() { float pi = 3.1415, *pf, **ppf; pf = π ppf = &pf; printf(“\n%.4f", **ppf); printf(“\n%.4f", *pf);
}
Exercício:
Verifique o programa abaixo. Encontre o(s) seu(s) erro(s) e corrija-o(s) para que o mesmo escreva o número 10 na tela.
#include <stdio.h> int main()
{
int x, *p, **q; p = *x; q = &p; x = 10; printf("\n%d\n", &q);
}
Funções são as estruturas que permitem ao usuário separar seus programas em blocos. Para fazermos programas grandes e complexos temos de construí-los bloco a bloco.
Uma função no C tem a seguinte forma geral: tipo_de_retorno nome_da_função (declaração_de_parâmetros)
{
corpo_da_função
}
O tipo-de-retorno é o tipo de variável que a função vai retornar. O default é o tipo int, ou seja, o tipo-deretorno assumido por omissão. A declaração de parâmetros é uma lista com aseguinte forma geral: tipo nome1, tipo nome2, ... , tipo nomeN
Repare que o tipo deve ser especificado para cada uma das N variáveis de entrada. É na declaração de parâmetros que informamos ao compilador quais serão as entradas da função (assim como informamos a saída no tipo-de-retorno). É no corpo da função que as entradas são processadas, saídas são geradas ou outras coisas são feitas.
- Comando return
Forma