Passing through a function, but not getting the right value : I having trouble understanding what is happening. The value of second token is some random number instead of 1. Why does the value of second token not the value in the function?

    struct player
    {
    char name[20];
    enum cell token;
    unsigned score;
    };


    BOOLEAN init_player2(struct player *second, enum cell token)
    {
        token = 1;
    }

    int main()
    {
        struct player second;
        init_player2(&second, second.token);
        printf("The value of second token is: %d\n", second.token);
    
        return 0;
    }


