How can I change the size of an array in C?

前端 未结 6 1101
灰色年华
灰色年华 2020-12-03 11:22

I am experimenting a little bit with gamestudio. I am making now a shooter game. I have an array with the pointer\'s to the enemies. I want. to when an enemy is killed. remo

6条回答
  •  [愿得一人]
    2020-12-03 11:59

    I wanted to lower the array size, but didn't worked like:

    myArray = new int[10];//Or so.
    

    So I've tried creating a new one, with the size based on a saved count.

    int count = 0;
    
    for (int i = 0; i < sizeof(array1)/sizeof(array1[0]); i++){
      if (array1[i] > 0) count++;
    }
    
    int positives[count];
    

    And then re-pass the elements in the first array to add them in the new one.

    //Create the new array element reference.
    
    int x = 0;
    
    for (int i = 0; i < sizeof(array1)/sizeof(array1[0]); i++){
      if (array1[i] > 0){ positives[x] = array1[i]; x++; }
    }
    

    And here we have a brand new array with the exact number of elements that we want (in my case).

提交回复
热议问题