Vuosien 2000 ja 2001 luennoija Jan Lindström on koonnut luentomateriaalinsa verkkosivustoksi, joka on kurssin opiskelijoiden käytettävissä.
Copyright © 2000 Jan Lindström. Tämän oppimateriaalin käyttö on sallittu vain yksityishenkilöille opiskelutarkoituksissa. Materiaalin käyttö muihin tarkoituksiin, kuten kaupallisilla tai muilla kursseilla, on kielletty.
Suurin osa C-kielen syntaksista on käsitelty jo 581325-0 Ohjelmoinnin perusteet -kurssilla ja 581326-3 Java-ohjelmointi -kurssilla. Kyseisiä asioita ei hänen materiaalissaan käsitellä. Materiaali keskittyy niihin C-kielen piirteisiin, joita ei löydy Java-kielestä. Lisäksi kurssilla käsitellään dynaamista muistinkäyttöä, tietorakenteiden toteutusta ja kirjastojen laatimista C-kielellä. Seuraavassa on esitelty C-kielen tärkeimmät erot Java-kieleen:
- C-kielessä EI ole olioita.
- C-kielessä on muistiosoitepointtereita ja siis osoitearitmetiikkaa.
- C-kielessä taulukot eivät ole olioita ja indeksien rajoja ei tarkisteta.
- C-kielessä merkkijonot eivät ole olioita, vaan `\0` -merkkiin päättyviä muistialueita.
- C-kielessä ei ole automaattista muistinhallintaa.
- C-kielessä on etumerkittön kokonaislukutyyppi.
- C-kielessä ei ole boolean tyyppiä vaan int on boolean tyyppi.
- C-kielessä on varatut sanat struct, union, typedef.
- C-kielessä tyyppimuunnos (cast) tehdään automaattisesti vaikka tietoa voi kadota.
- C-kielessä funktiolla voi olla vaihtuva parametrilukumäärä.
- C-kielessä ei ole metodien kuormitusta.
- C-kielessä on #define, #include jne. -makroja.