Chess 960 position generator

Looking closer at your code, you should probably define the length of all of your arrays:
int bishop_light_pos[4] = {1, 3, 5, 7};
int bishop_dark_pos[4] = {0, 2, 4, 6};

The biggest downside to arrays is that in C they are not adjustable length. Generally This just means you need to plan ahead and make sure it is long enough to handle anything you intend on putting into it.