https://www.engineersimple.com/2022/07/c-program-learning-part-1.html