Source: https://www.fresnel.fr/perso/stout/langage_C/Chap_5_Les_types_de_base.pdf