unendlich geht schon mal alleine deshalb nicht weil der speicher auf deinem rechner begrenz ist.. du kannst speicher zur laufzeit mittels new allokieren...
C++:
int *x = newint[4711]; //oder wieviel auch immer.... die zahl die du da zur laufzeit übergibst wird veruscht an speicher zu allokieren
stell dir ein array einfach als einen hintereinander liegender bereich im speicher vor...
der arrayname ist ein zeiger auf das erste element dieses speichers, in dem falle dann x...
um nun auf das element zuzugreifen auf das x zeigt kannst du *x oder x[0] verwenden...
um auf das zweite element zuzugreifen *(x+1) oder x[1] usw...
new liefert dir also einen zeiger auf den allokierten und von dir angeforderten speicherbereich zurück. mit hilfe dieses zeigers kannst du dann in diesem speicher rumwüten ist genauso wie du es sonst von dem statsichen auf dem stack angelegten array gewohnt bist. -- ...fleißig wie zwei Weißbrote