c-tutorial array Frage

Schnelle objektorientierte, kompilierende Programmiersprache.
Antworten
Wissenslücke
Beiträge: 37
Registriert: Mo Feb 22, 2016 6:03 pm

c-tutorial array Frage

Beitrag von Wissenslücke » So Mär 13, 2016 12:42 pm

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] = { }; 
?

Benutzeravatar
cloidnerux
Moderator
Beiträge: 3123
Registriert: Fr Sep 26, 2008 4:37 pm
Wohnort: Ram (Gibts wirklich)

Re: c-tutorial array Frage

Beitrag von cloidnerux » So Mär 13, 2016 1:15 pm

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.
Redundanz macht wiederholen unnötig.
quod erat expectandum

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8859
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: c-tutorial array Frage

Beitrag von Xin » So Mär 13, 2016 2:11 pm

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.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

Wissenslücke
Beiträge: 37
Registriert: Mo Feb 22, 2016 6:03 pm

Re: c-tutorial array Frage

Beitrag von Wissenslücke » So Mär 13, 2016 2:46 pm

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

Antworten