CURSO DE C

Inicializando Ponteiros

Podemos inicializar ponteiros. Vamos ver um caso interessante dessa inicialização de ponteiros com strings.

 Precisamos para isto entender como o C trata as strings constantes. Toda string que o programador insere no programa é colocada num banco de strings que o compilador cria. No local onde está uma string no programa, o compilador coloca o endereço do início daquela string (que está no banco de strings). É por isto que podemos usar strcpy() do seguinte modo:

 

                strcpy (string,"String constante.");
strcpy() pede dois parâmetros do tipo char*. Como o compilador substitui a string "String constante." pelo seu endereço no banco de strings, tudo está bem para a função strcpy().

 O que isto tem a ver com a inicialização de ponteiros? É que, para uma string que vamos usar várias vezes, podemos fazer:

 

                char *str1="String constante.";
Aí poderíamos, em todo lugar que precisarmos da string, usar a variável str1. Devemos apenas tomar cuidado ao usar este ponteiro. Se o alterarmos vamos perder a string. Se o usarmos para alterar a string podemos facilmente corromper o banco de strings que o compilador criou.

 Mais uma vez fica o aviso: ponteiros são poderosos mas, se usados com descuido, podem ser uma ótima fonte de dores de cabeça.

 


AUTO AVALIAÇÃO

Veja como você está.

  • Escreva a função
    int strend(char *s, char *t)
    
    que retorna 1 (um) se a cadeia de caracteres 't' ocorrer no final da cadeia 's', e 0 (zero) caso contráio.

  • Página Anterior  Índice da Aula  Próxima Página

    Dúvidas? De uma olhadinha em nosso FAQ

    Perguntas para a lista do Curso de C