for example my array is test[10],
and i want to clear 2 of the 10 memory, how to do that??

6 Years
Discussion Span
Last Post by tech9x

You can't manually clear the memory of static arrays. The memory of that array won't be cleared until you leave the scope where it was declared (scope is, in this case, the space within the curly braces)


void exampleFunc()
  int aaa[32];
} //when the function closes, the memory where the aaa array resides will be cleared.

int main()
  int bbb[10]; //reserves 10 
  for(int iii=0;iii<3;iii++)
} //when the main loop closes, the bbb memory will be cleared.

Each time there's a call for exampleFunc, the application will allocate memory for the array and, each time it ends, that memory will be cleared.

If you wanted to be able to clear and assign memory you should look into new/delete (c++ proper) or malloc/free (c).



yes, i am working on dynamic array,
but i have no idea to find the specific data to clear,
should i use a loop??


Use a loop check to see if a given value in the array matches the data you are looking for (or meets a certain criterion). Then set that value to zero or something appropriate to that particular array (so if it's a string array, set it to space or something.

This topic has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.