/* malloc.c */
/* bei proggen.org gefunden */
#include <stdio.h>
#include <stdlib.h>/* malloc, free */
int main( void )
{
char * buffer;
int i;
printf ("Wieviele Sterne? ");
scanf ("%d", &i);
buffer = (char*) malloc( 1 + i ); // Am Ende des C-Strings wird zusätzlich
// ein Nullbyte als Endmarkierung benötigt
if( buffer != NULL )
{
buffer[i]='\0'; // Nullbyte setzen
while( i-- )
buffer[i] = '*';
printf( "%s\n", buffer );
free( buffer ); // Wichtig! Speicher wieder freigeben
return EXIT_SUCCESS;
}
return EXIT_FAILURE;
}
Das folgende Video erklärt gut malloc, calloc und realloc:
Wenn man einmal die Grenze eines Datentyps überschreitet, dann gibt es immer recht unvorhersehbare Ergebnisse. Oder es gibt sinnlose Resultate.
Diese Webseite wurde mit Jimdo erstellt! Jetzt kostenlos registrieren auf https://de.jimdo.com