int max
max=16;
int str[max];

とするより

int str[16]のほうがソースコードが短くなり
容量も減ると思うのですが。