Beste COers,
Ik ben nu een tijdje bezig aan een klein projectje.
De code is eigenlijk geen probleem maar het werd een beetje onoverzichtelijk en toen ben ik alles op gaan delen in meerdere files.
Het opdelen naar .c en .h is geen probleem.
Alleen maak ik in een functie een array aan waar ik een hoop gegevens in zet.
Dit is de functie waar het om gaat:
in de .c file wordt het dan:
unsigned int[] init_opslag(void){
unsigned int temp[512];
{gegevens in array gooien}
return temp;}
en de .h file:
extern unsigned int[] init_opslag(void);
Alleen krijg ik hier de fout dat de int[] niet goed is.
Weet iemand hoe ik een array kan returnen ??
Of moet ik dit op een andere manier doen ?
Daan Timmer
Ik ben programmeur! geen electronicus! http://www.daantimmer.nl/ Er is een ontwerp! nu nog inhoud :-)
Je weet hoe in C functie argumenten/return waardes doorgegeven worden?
Dan weet je ook dat als je een array van 512 groot wilt doorsturen je HEEL wat instructies nodig gaat hebben.
Als je van pointers gehoord hebt, zou ik daar naar kijken...
Ik zal nog niet alles voorkauwen, kijk eerst maar even naar pointers :-]
Een functie mag in C geen array teruggeven, je kunt het met een pointer doen maar dan moet je heel goed letten op de scope van de array.
Daan Timmer
Ik ben programmeur! geen electronicus! http://www.daantimmer.nl/ Er is een ontwerp! nu nog inhoud :-)
Als je hem declareert binnen de functie en je verlaat de functie, dan is de array ook weg.
Je kunt hem als static declareren, maar dan krijg je bij elke functieaanroep steeds een pointer naar dezelfde array terug.