MMORPG Brasil
Ola, visitante! Agradecemos sua visita, para ter acesso a todo nosso conteúdo recomendamos que faça um cadastro no fórum, com ele você pode participar de tópicos e ter acesso a todas áreas da comunidade!

Participe do fórum, é rápido e fácil

MMORPG Brasil
Ola, visitante! Agradecemos sua visita, para ter acesso a todo nosso conteúdo recomendamos que faça um cadastro no fórum, com ele você pode participar de tópicos e ter acesso a todas áreas da comunidade!
MMORPG Brasil
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

[C++]TDD# Strings Dinâmicos

Ir para baixo

[C++]TDD# Strings Dinâmicos Empty [C++]TDD# Strings Dinâmicos

Mensagem por FusioN Qua 31 Mar 2010, 20:41

Strings dinâmicos
São criados durante a execução de um programa pelo operador new.
O nome de um array de caracteres ou uma constante string implica o endereço do seu primeiro caractere.
Como um array de caracteres contém elementos do tipo char, seu nome é o endereço de um char.
Como new retorna o endereço de memória inicial do bloco alocado para o string, então o uso de ponteiros.
O endereço inicial é o endereço do primeiro elemento.
O ponteiro a ser usado com new pode ser inicializado após a sua declaração ou no momento desta.
A declaração com inicialização é igual à do item arrays dinâmicos.


Código:
char * nome-ponteiro = new char [qtde];

Exemplos:
Código:
char * pt; // Declaração
pt = new char[10]; // Inicialização após a declaração
// Ponteiro para um char inicializado na declaração
char * pt1 = new char[8];

Essa declaração diz:
"Aloque um bloco de memória para armazenar 8 valores do tipo char e armazene o endereço inicial deste bloco(endereço do primeiro elemento do array de caracteres) no ponteiro pt1"

Exemplo:
Código:
// Atribui e exibe valores de um string dinâmico
char * ptr = new char[10]; // Alocar memória para 10 elementos
char letra = '@'; int k;
for (k = 0;k < 9;k++) // Atribui valores de A até I
{
letra++;
ptr[k] = letra;
}
ptr[k] = '\0'; // Finaliza o string
k = 0;
while(ptr[k] != '\0') // Exibe os valores
{
cout << ptr[k] << " "; // A B C D E F G H I
k++;
}
delete[ ] ptr; // Libera o bloco alocado


Créditos: 0verthrower
FusioN
FusioN
Membro Sênior
Membro Sênior

Mensagens : 273

http://www.mmorpgbr.com

Ir para o topo Ir para baixo

Ir para o topo


 
Permissões neste sub-fórum
Não podes responder a tópicos