Variable probleem

Status
Niet open voor verdere reacties.

wesselb

Gebruiker
Lid geworden
21 jan 2007
Berichten
38
Hallo allemaal,

Ik zit met een probleem in C++, ik zie dat arrays niet zo makkelijk gaan als net als in andere talen. Daarom vroeg ik me af of je een variable kan oproeper met behulp van een variable, beetje onduidelijk hé? Voorbeeld:

int VAR_1 = {$nummer}_vars;

Zoiets, als jullie snappen wat ik bedoel zou dat kunnen in C++?

Groetjes,

Wessel Bruinsma
 
meerdere manieren
Code:
int maxitems = 20;
int itemlist[maxitems];

of

#define maxitems 20 //dit buiten een functie zetten
int itemlist[maxitems];//dit binnen een functie zetten
als je dat bedoelt tenminste
 
O.. Natuurlijk, wat stom van me:o

Harstikke bedankt!:thumb:

Maar nu heb ik nog een vraagje :P
Hoe verkrijg je de lengte van een array?

Dus wat ik dan nu heb:

int nrs[] = {0,1,2,3,4}

cout << nrs.length;

maar dit mag natuurlijk niet, weet iemand misschien hoe het wel moet?

Alvast bedankt:thumb:
 
probeer

sizeof(nrs)/sizeof(int) //of welk type var je er dan ook in stopt

edit:

ohja sommige vars kun je wel met nrs.length doen maar length is een functie dus dan moet je het zo doen
nrs.length()
 
Okee, dat heb ik nu geprobeerd, maar het werkt niet helemaal:D
Als ik:

int nrs[2] = {0,0};
cout << sizeof(nrs);

doe, dan krijg ik als output:

8

Enig idee?

ab:thumb:

[edit]
Of heb je misschien een function om te kijken of een var bestaat, daarmee weet ik ook nog wel een trucje ;)
[/edit]
 
Laatst bewerkt:
je moet hem nog delen

sizeof geeft de grootte van de var in bytes

een integer is 4 bytes groot 8/4=2 het werkt dus :)
 
Nog een laatste vraagje hoe doe ik dit goed :P?

:o

int a = 0;
char b[100] = "lala";
mijn_functie(b+a)

?

anekb:thumb:
(alvast nog een keer bedankt)

Wessel:)
 
Mmmm,
je was me net voor. De bereking is generiek te maken door:

Code:
public int SizeOfArray(array arr)
{
  return sizeof(arr)/sizeof(*arr);
}

Moet misscien aan gesleuteld worden, heb het even snel uit mijn hoofd gedaan.
Een MACRO ervan maken kan natuurlijk ook.
 
@Jabber
Harstikke bedankt, heel handig, moet alleen nog ff testen. (Kan nu niet, moet naar school)

@Murdocki
Ik ben een soort text-based spel bezig waarmee je mappen uit een array/bestanden kan ophalen. En dus een INT, nummer van de map,met een normale string samenvoegen. Maar dat werkte niet, error: "kan een pointer niet met een pointer samenvoegen" (uit mn hoofd)
Dus hoe doe ik dat goed?:o:D:thumb:
 
Code:
char path[MAX_PATH];
int xmap = 10;
int ymap = 20;
sprintf( path, "x%dy%d", xmap, ymap );
path bevat nu: "x10y20"
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan