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

Recommended Answers

All 4 Replies

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)

example:

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++)
  {
    exampleFunc();   
  }
  
} //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).

http://www.cplusplus.com/doc/tutorial/dynamic/

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.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.