[Prévia cron] [Próxima Cron] [Prévia por assunto] [Próxima por assunto]
[Índice cronológico]
[Índice de assunto]
[Índice de autor]
Re: estrelinhas
Em 14 Sep 2000, Rubens Altimari escreveu:
><font size=3>>nao to entendendo aquela notacao de usar um struct** numa
funcao?
>qual a diferenca?isso nao foi explicado em aula...
>
> Se você se "concentrar muito" em ver os dois asteriscos, fica realmente
>confuso... Acho sempre mais fácil pensar que uma coisa do tipo "int** a",
>por exemplo, pode ser lida como "int* a[]", isto é, uma matriz de "int*".
>Ora, por sua vez, "int* b" pode ser entendido como "int b[]" (matriz de
>ints). Resumindo: "int** a" é uma matriz de matrizes de int, como disse o
>Demerson.
>
> Mas tem um outro significado importante: se você passar apenas um
>pointer para uma struct em uma função, significa que você pode até mexer no
>conteúdo desta struct, mas não no pointer propriamente dito. Se, no
entanto,
>passar um pointer-pointer, poderá alterá-lo também. Na prova de hoje,
aquela
>função para remover o ímpar poderia ser feita basicamente de duas maneiras:
>
>ligacao RemoveImpar(ligacao primeiro)
>{
> // ou seja, você recebe um pointer, mas como não pode modificá-lo,
> // tem de devolver um pointer para o novo primeiro elemento
>}
>
>ou
>
>void RemoveImpar(ligacao *primeiro)
>{
> // ou seja, você recebe um pointer para o pointer, podendo
> // então modificá-lo diretamente
>}
>
>este último equivale a
>
>void RemoveImpar(struct no** primeiro)
>{
>}
>
>Rubens
></font>
>----------
valeu rubens,agora entedi...q pena q a gente num tinha aprendido isso antes
da prova
flavinha
_________________________________________________________
Oi! Você quer um iG-mail gratuito?
Então clique aqui: http://registro.ig.com.br/