Need uitleg van C-code compilatie op advertenties, ARM sdt

S

Sanjay

Guest
Hi all,

Ik wilde deze vraag stellen ..

Als ik verklaar een array met behulp van bijvoorbeeld graag

int arraySize = 5
int array [arraySize] = (......};
en compileer het onder ADS1.2 software I dont get eventuele fouten, maar als ik probeer hetzelfde onder ARM SDT evaluatiesoftware
Het geeft een fout ...

Kan iemand helpen als de vraag waarom is het zo ..
of is er een andere manier waarop ik kan de uitvoering van het bovenstaande voorbeeld zonder fouten in ARM SDT.
in principe moet iets als "int arraySize" dat is de grootte van de array en gebruik het dan in de array verklaring ...zoals hierboven vermeld

Ik heb zelfs geprobeerd met behulp van const trefwoord maar niets hielp ..
Als ik ga de aanwijzingen route ..hoe kan ik uitvoeren ..
willen zeggen dat als ik een array.int array [] = (3, 4, 5, 6, 7);
Ik weet dat een stap kan door middel van de array, maar hoe kan dan een detecteert het einde van de array ..

Hulp zou gewaardeerd ...

Bedankt

 
c biedt geen ondersteuning voor dynamische arrays, zodat de array grootte heeft als een constante.
U kunt verklaren een array als volgt uit:

# define arraysize 5
int array [arraysize];

of zoals deze:

int array [] = (1,2,3,4,5);

elementen kunnen worden accesed zoals

ix = array [4];

of:

int * p = array;

for (ix = 0; ix <arraysize; ix)
(
var1 = * p ;
var2 = * (p ix);
)

weet je de array formaat, zodat u kunt controleren of het einde van de array.

 
C vereist dat array size moet bekend tijdens het compileren, dus # define constante is de meest appripriate manier te doen.Als uw array size is niet bekend tijdens het compileren, dient u gebruik te malloc alloacte geheugen kaart vervolgens naar de gewenste gegevenstype.

 

Welcome to EDABoard.com

Sponsor

Back
Top