endereco de um papel que temo endereco da casa do seu amigo. Podemos declarar um ponteiro para um ponteiro com aseguinte notacao:tipo_da_variavel **nome_da_variavel;Algumas consideracoes: **nome_da_variavel e o conteudo final da variavel apontada;*nome_da_variavel e o conteudo do ponteiro intermediario.No C podemos declarar ponteiros para ponteiros para ponteiros, ou entao, ponteirospara ponteiros para ponteiros para ponteiros (UFA!) e assim por diante. Para fazer isto (naome pergunte a utilidade disto!) basta aumentar o numero de asteriscos na declaracao. A logicae a mesma.Para acessar o valor desejado apontado por um ponteiro para ponteiro, o operadorasterisco deve ser aplicado duas vezes, como mostrado no exemplo abaixo:51#include <stdio.h>int main(){float fpi = 3.1415, *pf, **ppf;pf = &fpi; /* pf armazena o endereco de fpi */ppf = &pf; /* ppf armazena o endereco de pf */printf("%f", **ppf); /* Imprime o valor de fpi */printf("%f", *pf); /* Tambem imprime o valor de fpi */return(0);}AUTO AVALIACAOVeja como voce esta.Verifique o programa abaixo. Encontre o seu erro e corrija-o para que escreva o numero10 na tela.#include <stdio.h>int main(){int x, *p, **q;p = &x;q = &p;x = 10;printf("\n%d\n", &q);return(0);}Cuidados a Serem Tomados ao se Usar PonteirosO principal cuidado ao se usar um ponteiro deve ser: saiba sempre para onde o ponteiroesta apontando. Isto inclui: nunca use um ponteiro que nao foi inicializado. Um pequenoprograma que demonstra como nao usar um ponteiro:52int main () /* Errado - Nao Execute */{int x,*p;x=13;*p=x;return(0);}Este programa compilara e rodara. O que acontecera? Ninguem sabe. O ponteiro p podeestar apontando para qualquer lugar. Voce estara gravando o numero 13 em um lugardesconhecido. Com um numero apenas, voce provavelmente nao vai ver nenhum defeito.Agora, se voce comecar a gravar numeros em posicoes aleatorias no seu computador, nao vaidemorar muito para travar o micro (se nao acontecer coisa pior).AUTO AVALIACAOVeja como voce esta.Escreva um programa que declare uma matriz 100x100 de inteiros. Voce deve inicializara matriz com zeros usando ponteiros para enderecar seus elementos. Preencha depois a matrizcom os numeros de 1 a 10000, tambem usando ponteiros.53Capitulo - 6 (FUNCOES)A FuncaoFuncoes sao as estruturas que permitem ao usuario separar seus programas em blocos.Se nao as tivessemos, os programas teriam que ser curtos e de pequena complexidade. Parafazermos programas grandes e complexos temos de construi-los bloco a bloco.Uma funcao no C tem a seguinte forma geral:tipo_de_retorno nome_da_funcao (declaracao_de_parametros){corpo_da_funcao}O tipo-de-retorno e o tipo de variavel que a funcao vai retornar. O default e o tipo int,ou seja, uma funcao para qual nao declaramos o tipo de retorno e considerada comoretornando um inteiro. A declaracao de parametros e uma lista com a seguinte forma geral:tipo nome1, tipo nome2, ... , tipo nomeNRepare que o tipo deve ser especificado para cada uma das N variaveis de entrada. E nadeclaracao de parametros que informamos ao compilador quais serao as entradas da funcao(assim como informamos a saida no tipo-de-retorno).O corpo da funcao e a sua alma. E nele que as entradas sao processadas, saidas saogeradas ou outras coisas sao feitas.O Comando returnO comando return tem a seguinte forma geral:return valor_de_retorno; ou return;Digamos que uma funcao esta sendo executada. Quando se chega a uma declaracaoreturn a funcao e encerrada