verschiedene ausgaben

deek

Neues Mitglied
Kann mir einer erklären warum diese 4 programme alle eine andere ausgabe haben ?
1.
C:
int main()
{
   char buffer[10000];
   printf("address: %p\n", buffer);
   return 0;
}
2.
C:
char buffer[10000];

int main()
{
   printf("address: %p\n", buffer);
   return 0;
}
3.
C:
char buffer[10000] = { 'a', 'b', 'c', '\0' };

int main()
{
   printf("address: %p\n", buffer);
   return 0;
}
4.
C:
int main()
{
   char* buffer = (char*)malloc(10000);
   printf("address: %p\n", buffer);
   free(buffer);
   return 0;
}
 
Zuletzt bearbeitet von einem Moderator:

httpdigest

Top Contributor
Der Speicher in allen Varianten ausser 3 wird überhaupt nicht initialisiert. Du gibst also das aus, was in dem Speicher zufällig gerade steht.

Edit: Ach quark... Zu schnell geschrieben. Vergiss das obige. Du gibst ja mit %p die Adresse aus, und die ist mit jedem Programmlauf vermutlich unterschiedlich.
 
Zuletzt bearbeitet:

Neue Themen


Oben