thank you for the answers.

About the total_frames%80, let's say I want to call printf every 5th second, do I only put it like below, I've not got accurate measurements to verify this
Code:
while(1)
{
if((total_frames%80) == 5)
printf("Hello world");
wait(1);
}



3) I meant if above way consumes more memory than below one.
Code:
//Defines
typedef struct
{
TEXT* text;
}STRUCT;



Code:
//I've defined macro for struct creation

void main()
{
  var i;
  STRUCT* stru = new(STRUCT);
  stru->text = txt_create(21,0);
  for(i=0;i<text.strings;i++)
  {
    str_cpy((text.pstring)[i],"TEXT HERE TO DEMONSTRATE!");
  }
  //And create another one with same way.
  STRUCT* stru_2 = new(STRUCT);
  stru->text = txt_create(21,0);
  for(i=0;i<stru->text->strings;i++)
  {
   str_cpy((stru->text->pstring)[i],"TEXT HERE TO DEMONSTRATE!");
  }
}



Code:
void main()
{
  var i;
  STRUCT* stru = new(STRUCT);
  stru->text = txt_create(21,0);
  for(i=0;i<stru->text.strings;i++)
  {
    str_cpy((stru->text.pstring)[i],"TEXT HERE TO DEMONSTRATE!");
  }
  //Now let's not create another text but put a created text
  //To another struct's pointer
  STRUCT* stru_2 = new(STRUCT);
  stru_2->text = stru->text;
}



The question really is does a initialized pointer (like text) consume memory how much when compared to object that was created. If that makes any sence.