you may try linked lists, or arrays aswell.
You can mostly treat entites as normal structs you can store them in arrays.
You can use 2D arrays. like
ENTITY* ball[50][50]
if ball[x][y] is selected
ball[x-1][y], ball[x-1][y-1],ball[x-1][y+1] .... etc will stand for surrounding balls, if you fill array this way. You can also try linked lists with your balls but this will be more comlicated, if your board wont change it's size during runtime i suggest usin 2d arrays.