2010-09-01 2 views
1

J'ai un "pointeur" qui continue d'incrémenter et j'ai besoin de retourner la "tête" du pointeur finalement. Je suis dans un dilemme d'utiliser soit "pointer [0]" ou avoir une autre variable appelée "head" et l'initialiser et retourner à la fin. Le premier que je ressens donne l'impression que le code est sale et, par la suite, il me coûte peu de mémoire. Une suggestion propre?Pour "tête" ou pas pour "tête"?

+5

Peut-être que vous devriez montrer votre code pour clarifier la question. –

+0

utilise une variable temp et stocke l'adresse par référence. s'il vous plaît ajouter plus de détails sa déclaration peu confuse ci-dessus. –

+0

pseudo code char * string, * temp; temp = chaîne; chaîne de processus { chaîne ++ ....} return (string [0])? ou retourner la température? ce qui est mieux? – msathia

Répondre

2

Vous aurez toujours besoin de deux variables:

Foo *head = getSomeList(); 
Foo *tail = head; 
while (tail->isValid()) 
    ++tail; 
// You have head and tail here 

Vous ne pouvez pas mettre en œuvre vraiment beaucoup différemment parce que tail[0] != head (à moins que la liste est vide). Le fait de montrer le code et de nous dire exactement ce que vous essayez d'obtenir pourrait vous donner de meilleures réponses.