▁syntax ▁and ▁grammar . ▁ ▁Us age ▁over view ▁ ▁An ▁example ▁of ▁a ▁simple ▁type ▁system ▁is ▁that ▁of ▁the ▁C ▁language . ▁The ▁port ions ▁of ▁a ▁C ▁program ▁are ▁the ▁function ▁definitions . ▁One ▁function ▁is ▁invoked ▁by ▁another ▁function . ▁The ▁interface ▁of ▁a ▁function ▁states ▁the ▁name ▁of ▁the ▁function ▁and ▁a ▁list ▁of ▁values ▁that ▁are ▁passed ▁to ▁the ▁function ' s ▁code . ▁The ▁code ▁of ▁an ▁inv oking ▁function ▁states ▁the ▁name ▁of ▁the ▁invoked , ▁along ▁with ▁the ▁names ▁of ▁variables ▁that ▁hold ▁values ▁to ▁pass ▁to ▁it . ▁During ▁execution , ▁the ▁values ▁are ▁placed ▁into ▁temporary ▁storage , ▁then ▁execution ▁j umps ▁to ▁the ▁code ▁of ▁the ▁invoked ▁function . ▁The ▁invoked ▁function ' s ▁code ▁access es ▁the ▁values ▁and ▁makes ▁use ▁of ▁them . ▁If ▁the ▁instructions ▁inside ▁the ▁function ▁are ▁written ▁with ▁the ▁assumption ▁of ▁receiving ▁an ▁integer ▁value , ▁but ▁the ▁calling ▁code ▁passed ▁a ▁floating - point ▁value , ▁then ▁the ▁wrong ▁result ▁will ▁be ▁computed ▁by ▁the ▁invoked ▁function . ▁The ▁C ▁compiler ▁checks ▁the ▁type ▁declared ▁for ▁each ▁variable ▁sent , ▁against ▁the ▁type ▁declared ▁for ▁each ▁variable ▁in ▁the ▁interface ▁of ▁the ▁invoked ▁function . ▁If ▁the ▁types ▁do ▁not ▁match , ▁the ▁compiler ▁throws ▁a ▁compile - time ▁error . ▁ ▁A ▁compiler ▁may ▁also ▁use ▁the ▁static ▁type ▁of ▁a ▁value ▁to ▁optimize ▁the ▁storage ▁it ▁needs ▁and ▁the ▁choice ▁of ▁algorithms ▁for ▁operations ▁on ▁the ▁value . ▁In ▁many ▁C ▁comp