20×20 Game of Life in C
//gcc -Wextra -Wall -Werror -O3 -march=native -std=c99 -o test.exe gameOfLife.c


This should probably be put into some Makefile (well... the Makefile can be written more idiomatically, but I'm not the person to really ask about Makefiles...)



srand(time(0));


There may be better alternatives to this as a random number generator. This answer seems to suggest that Mersenne Twisters produce higher quality pseudo random numbers and that it is faster. However, informally speaking Mersenne Twisters are no longer consider "high quality enough".

To clarify, I am suggesting the alternative not so much because the output is a "higher quality" random number, but because of speed concerns.



This:

if(rand() / (float)RAND_MAX &lt; fill)


this:

for(size_t c = 0; c &lt; cols; ++c)


and this:

if(neighbors == 3 || (neighbors == 2 &amp;&amp; field[entry])) 


They all don't use braces. Please use braces. To put this in to context, there was a OpenSSL bug in Mac OSX. IF they had used braces, the double goto fail would not have mattered*. It caused a lot of issues. So I would advise at the very least you put the statements on the same line if you don't use brackets.

* Well, it could have mattered, but autocompletion of brackets in an IDE would mitigate the chances. Better safe than sorry!