* malliohjelma jossa tarvitaan välttämättä muuttujia
* osoiteoperaattori, &
* osoitin muuttujat ja epäsuora osoitus, *
* aliohjelmat, eli funktiot
* erilaiset aliohjelmien kutsumekanismit
* referenssimuuttujat eli viitemuuttujat, &
Seuraavassa muut = muuttujan nimi, koostuu A-Z,a-z,0-9,_, ei ala 0-9 muut.esittely: tyyppi muut = alkuarvo; // 0-1 x =alkuarvo sijoitus: muut = lauseke; lukeminen, C: scanf(format, osoite, osoite, ...) // 0-n x osoite lukeminen, C++ cin >> olio >> olio; // 1-n x olio aliohj.esittely: tyyppi aliohj_nimi(tyypi muut, tyyppi muut); // 0-n x muut aliohj.kutsu muut = aliohj_nimi(arvo, arvo); // 0-1 x muut=, 0-n x arvo muut.osoite: &muut osoitinmuut.esit: tyyppi *pMuut_nimi epäsuora osoitus: *osoite viitemuut.esit. tyyppi &rMuut_nimiJatkossa puhumme C- kielestä kun tarkoitamme ominaisuuksia, jotka ovat sekä varsinaisessa C- kielessa että C++- kielessä. Jos puhumme C++- kielen ominaisuuksista, tarkoitamme ominaisuuksia joita ei ole C- kielessä. Aloittelevan lukijan kannalta tällä jaottelulla ei niinkään ole merkitystä. Merkitystä on ainoastaan silloin, jos joutuu kirjoittamaan ohjelmaa, jonka on mentävä läpi puhtaasta C- kääntäjästä. Tällainen tilanne voi tulla vastaan esimerkiksi sulautettuja järjestelmiä ohjelmoitaessa (=järjestelmät joissa tietokone on "näkymättömässä" osassa, kodinelektroniikka, "kännykät", ohjauslaitteet). Näihin ei vielä aina ole saatavilla C++- kääntäjää.