Seite 1 von 1

c-tutorial array Frage

Verfasst: So Mär 13, 2016 12:42 pm
von Wissenslücke
hihi,

1.Frage:
wird im folgenden Code jedes array-element mit 0 initialisiert ?

Code: Alles auswählen

int main( void )
{
  int array[1000];
 
  for( int i = 0; i < 1000; i++ )
    array[i] = 0; 
 
  return 0; 
}
2.Frage:

sind die array values nicht by default 0 ? oder gilt das nur bei fehlender Initialisierung in den geschweiften Klammern

Code: Alles auswählen

	
int array[5] = { }; 
?

Re: c-tutorial array Frage

Verfasst: So Mär 13, 2016 1:15 pm
von cloidnerux
wird im folgenden Code jedes array-element mit 0 initialisiert ?
Ja
sind die array values nicht by default 0 ? oder gilt das nur bei fehlender Initialisierung in den geschweiften Klammern
Per default nicht. Es wird ja für Variablen tatsächlicher physischer Speicher genutzt, wenn diesem Speicher noch nichts zugewiesen ist, kann es sein, dass dieser noch Daten von einer anderen Anwendung beinhaltet, sodass dein Array nicht 0 Werte hat.

Re: c-tutorial array Frage

Verfasst: So Mär 13, 2016 2:11 pm
von Xin
Wissenslücke hat geschrieben:2.Frage:
sind die array values nicht by default 0 ? oder gilt das nur bei fehlender Initialisierung in den geschweiften Klammern

Code: Alles auswählen

	
int array[5] = { }; 
?
C macht nur das, was Du von ihm verlangst - nicht mehr.
Darum gehört C auch zu den schnellsten Sprachen: Wenn Du es brauchst, dann kostet es Rechenzeit und Du musst es sagen - oder Du brauchst es nicht, dann sagst Du es nicht, dann wird es auch nicht gemacht.

Du kannst die Initialisierung auch mit

Code: Alles auswählen

	
int array[5] = { 0 }; 
durchführen.

Im Tutorial sollst Du vorrangig verstehen, was Du tust und nicht Sonderfälle der Syntax auswendig lernen. Daher benutze ich Schleifen.

Re: c-tutorial array Frage

Verfasst: So Mär 13, 2016 2:46 pm
von Wissenslücke
Danke für die Antworten.
ich hab das auf einer C++ Seite beim Kapitel arrays gleich am Anfang gelesen, dass fehlenden Initialisierungen in den geschweiften Klammern der Wert 0 zugeteilt wird. Dann gibt es das bei C wohl nicht.

Gruß The WL