sexta-feira, 15 de junho de 2007

Strings em C - parte 2

Mais esquisitices de strings...Se ponteiros e matrizes equivalem, porque não funciona a sequencia abaixo:

char nome[50];
nome = "joão";

tá, ele não pode associar um char[50] com um char[5]...tudo bem, mas se usar ponteiros, funciona:

char * nome = new char [50];
nome = "joão";

E tem um componente a mais, já que com ponteiros ficaria mais claro se fosse assim:
*nome++ = 'j';
*nome++ = 'o';
*nome++ = 'a';
*nome++ = 'o';
*nome = '\0';
nome = nome-4;
for (int i=0; i<5; i++) { cout << *nome++ ; }

Bem, problemas para pensar ...

Tchê.