Learning C language foundation