Jump to content

Passar para função. Apontador


Black Tiger III
 Share

Recommended Posts

Ora boas tardes.

Como tem sido costume, tenho enfrentado vários problemas. Agora o que me surge, é que no trabalho que tenho estado a fazer tenho que utilizar árvores binárias balanceadas...

Nada de mais, tirando que arranjei umas boas bibliotecas que servem perfeitamente para o que eu quero.

O problema é que durante todo o trabalho tenho utilizado árvores de um "tipo" uma maneira, e agora para poder usar a biblioteca vou ter que mudar, ou então não. Espero que me ajudem, pois acredito ser questão de meter um & ou um * em qualquer lado para resolver o problema.

Ora bem aqui vai o bloco de código.

typedef struct Node
{
   int bf;
   Mails *mail;
   struct Node *left, *right;
} AVLNode;

typedef AVLNode *tavl;

//esta foi a forma como defini a minha arvore. No entanto por distracção, em todo o trabalho tenho utilizado

AVLNode *tree;

//em vez de 

tavl *tree;

//O que sucede, é que utilizo sempre
//AVLNode *tree; e agora para a árvore balanceada tenho que usar tavl *tree;

//exemplo

void cria()
{
AVLNode *tree;
tree=(AVLNode *)malloc(sizeof(AVLNode));
acrescenta(1, tree); //sendo assim, de que modo tenho que passar este tree, para que funcione na função acrescentar...
return ;
}

void acrescenta(int valor, tavl * tree)
{...}

Nota: já agora não me peçam para mudar o codigo de AVLNode *tree para tavl *tree, porque isso iria implicar perder mtas horas, e como aposto que há outra solução...

Espero ter sido claro

😛

EDIT:

Já descobri qual era o problema. Ao inicializar a árvore, ele colocava-me lá lixo, e dps o programa não conseguia continuar a ler, por isso é que ele crashava, e não por causa da arvore.

mas para passar o argumento bastava fazer acrescentar(1,&tree), pelo menos isto funcionou 😄

Órale MI RAZA, MY BLOOD HOLMES BELONGS TO ME ÉSE...

EENNNGGGGEEEENNNNNNNHHHHAAAARRRRRIIIIIIIIIIAAAAAAAINFORMATICASISTEMAS....

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.