Inicializar ponteiros no CÉ possivel e bastante fácil inicializar ponteiros. Vamos ver uma situação muito interessante de inicialização de ponteiros com strings. Precisamos, para isto de entender como  é que o C trata as strings constantes. Todas as strings que os programadores inserem nos programas são colocadas na “base de dados” de strings que o compilador cria automáticamente. No local onde está uma string no programa, o compilador coloca o endereço do início daquela string (que está na base de dados de strings). É por isto que podemos utilizar a função strcpy() da seguinte forma:

[clearboth]

strcpy (string,"String constante.");

A função strcpy() pede dois parâmetros do tipo char*. Como o compilador substitui a string “String constante.” pelo seu endereço na base de dados 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 utilizar diversas vezes, podemos efetuar o seguinte:

char *str1="String constante.";

Desta forma poderíamos, sempre que precisarmos da strings, utilizar a variável str1. Devemos ter sempre cuidado ao utilizar este ponteiro. Se o alterarmos vamos perder a string e se o utilizarmos para alterar a string podemos facilmente corromper a base de dados de strings que o compilador criou.

Num se esqueça que os ponteiros são poderosos mas, se os utilizarmos com descuido, podem ser uma ótima fonte de dores de cabeça.

Gostou do Tutorial? Então deixe um comentário abaixo!

Anúncios