HANDLEIDING PROGRAMMEREN (5e kwartaal natuur- en ...
HANDLEIDING PROGRAMMEREN (5e kwartaal natuur- en ...
HANDLEIDING PROGRAMMEREN (5e kwartaal natuur- en ...
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
30 HOOFDSTUK 3: De programmeertaal C 30<br />
of toevoeg<strong>en</strong>.<br />
- Geformatteerd kan er gelez<strong>en</strong> <strong>en</strong> geschrev<strong>en</strong> word<strong>en</strong> door aanroep van: fscanf <strong>en</strong> fprintf.<br />
Deze functies hebb<strong>en</strong> als extra eerste argum<strong>en</strong>t de file id<strong>en</strong>tifier.<br />
- Tekst<strong>en</strong> (strings, dus) kunn<strong>en</strong> met speciale functies gelez<strong>en</strong> <strong>en</strong> geschrev<strong>en</strong> word<strong>en</strong>: fgets <strong>en</strong> fputs.<br />
- Files word<strong>en</strong> geslot<strong>en</strong> door aanroep van functie fclose.<br />
Zie app<strong>en</strong>dix B van deze handleiding.<br />
3.9 Structures<br />
Met arrays word<strong>en</strong> elem<strong>en</strong>t<strong>en</strong> van hetzelfde type aan elkaar gekoppeld. Maar het is ook wel e<strong>en</strong>s handig om<br />
datastructur<strong>en</strong> te gebruik<strong>en</strong> die per elem<strong>en</strong>t e<strong>en</strong> aantal variabel<strong>en</strong> van hetzelfde of van verschill<strong>en</strong>d type bevatt<strong>en</strong>.<br />
Dit is mogelijk door de declaratie van nieuwe typ<strong>en</strong>, de zog<strong>en</strong>aamde structures. E<strong>en</strong> structure heeft één of meer<br />
members of veld<strong>en</strong>, die e<strong>en</strong> eerder gedefinieerd type hebb<strong>en</strong>. Zie hoofdstuk 6 van [1].<br />
Voorbeeld van declaratie <strong>en</strong> gebruik van e<strong>en</strong> structure (in dit geval met twee veld<strong>en</strong> van hetzelfde type):<br />
#include <br />
struct point /* globale declaratie van structure van type ’struct point’ */<br />
{ int x; /* eerste veld of ’member’ van structure */<br />
int y; /* tweede veld of ’member’ van structure */<br />
};<br />
int main ()<br />
{<br />
/* declaratie van variabel<strong>en</strong> van type ’struct point’ */<br />
struct point hoekpunt<strong>en</strong>Driehoek[3];<br />
struct point hoekpunt<strong>en</strong>Vierhoek[4] = {{-1, 0,}, {0, 2,}, {1, 0,}, {-1, 0}};<br />
int teller;<br />
/* adresseer afzonderlijke veld<strong>en</strong> van de array-elem<strong>en</strong>t<strong>en</strong> */<br />
hoekpunt<strong>en</strong>Driehoek[0].x = -1;<br />
hoekpunt<strong>en</strong>Driehoek[0].y = 0;<br />
hoekpunt<strong>en</strong>Driehoek[1].x = 1;<br />
hoekpunt<strong>en</strong>Driehoek[1].y = 0;<br />
hoekpunt<strong>en</strong>Driehoek[2].x = 0;<br />
hoekpunt<strong>en</strong>Driehoek[2].y = 1;<br />
printf ("Hoekpunt<strong>en</strong> van driehoek:\n");<br />
/* print array-elem<strong>en</strong>t<strong>en</strong> stuk voor stuk */<br />
for (teller=0; teller