Return Pointer to local string, destroys the string or not?

This forum may not be the best to ask the question, but the answers on the other forums (that i know) were generally with respect to C for desktop pc (where memory management is different from that in embedded) and this forum has knowledgeable embedded people. hence...

I was worried about the following situation:

void function1()
{
  ...     //other variables
  char* ptr = myary;

  ...
  ptr = ReadNandFlash("myfile");
  ...
}

char* ReadNandFlash(char* Filename)
{
  FILE* file;
  char temp_ary[256];

  file = fopen(Filename, "r");

  if(file == NULL)
  {
    return NULL;
  }

  while(!feof(file))
  {
    fread(temp_ary, sizeof(char), 256, file);
  }
  fclose(file);

  return ary;
}

will the 'temp_ary' be destroyed as only the pointer value is returned back to the function1()?

Parents Reply Children
No data
More questions in this forum