Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > Бинарное дерево


Автор: Rezzonans 3.5.2006, 19:08
Всем привет! Народ, мне вот нужно было программку написать, в которой организовывалось бы бинарное дерево. Вот я и написал. Теперь пытаюсь вывести на экран содержимое, на которое указывает указатель *info, но почему-то выводится на экран (null). Подскажите, почему так? Неправильно вывод осуществляю?



Код

#include <stdio.h>
#include <alloc.h>


struct MTree{
MTree *left, *right;
char *info;
}

typedef MTree, sint;



void main(){

   sint *pA, *pB, *pC;


   pA = (sint *) malloc(sizeof(sint));
   pA->info = "A";
   pA->left =  pB;
   pA->right = pC;

   pB = (sint *) malloc(sizeof(sint));
   pB->info = "B";

   pC = (sint *) malloc(sizeof(sint));
   pC->info = "C";




   printf("%s\n",pA->left->info);

   free(pA);
   free(pB);
   free(pC);


}

  

Автор: Dray 3.5.2006, 19:20
А так?
Код

#include <stdio.h>
#include <malloc.h>


struct MTree{
MTree *left, *right;
char *info;
}

typedef MTree, sint;



void main(){

   sint *pA, *pB, *pC;


   pA = (sint *) malloc(sizeof(sint));
   pA->info = "A";

   pB = (sint *) malloc(sizeof(sint));
   pB->info = "B";

   pC = (sint *) malloc(sizeof(sint));
   pC->info = "C";

   pA->left =  pB;
   pA->right = pC;

   printf("%s\n",pA->left->info);

   free(pA);
   free(pB);
   free(pC);


}
 

Автор: Rezzonans 3.5.2006, 19:24
Работает!! Спасибо тебе большое, Dray smile
 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)