C-指针的传递

注意:要传入一个指针,需要写成 *ptr。否则只是复制一个指针变量。根本没法进行内存创建。

void InitPointer(int **ptr, int length, int default_value) {
    *ptr = malloc(sizeof(int) * length);
    for (int i = 0; i < length; ++i) {
        (*ptr)[i] = default_value;
    }
}

int main(void) {
//    int *players = malloc(sizeof(int) * PLAYER_COUNT);
    int *players ;
    InitPointer(&players, PLAYER_COUNT,0);

    for (int i = 0; i < PLAYER_COUNT; ++i) {
//        players[i]=i;
    }
    PRINT_INT_ARRAY(players, PLAYER_COUNT);
    free(players);


    return 0;
}