Hallo
wird bei dem "Kommentar 1" Speicher für ein Text mit der Länge der
Zufallszahl angelegt?
1 | #include <stdio.h>
|
2 | #include <stdlib.h>
|
3 | #include <time.h>
|
4 | #define maxlen 70
|
5 | #define ARRAYLENGTH 3
|
6 |
|
7 | char* zeichenarray [ARRAYLENGTH] ={0};
|
8 |
|
9 | char* zufalltext ()
|
10 | {
|
11 | int zufallszahl=0;
|
12 | int z=0;
|
13 | char *text;
|
14 | zufallszahl=rand() % maxlen+1;
|
15 | text = malloc( zufallszahl+1); //1) wird hier Speicher für ein Text
|
16 | text[zufallszahl]='\0'; // mit der Länge der Zufallszahl angelegt?
|
17 | for (z=0; z<zufallszahl ;z++)
|
18 | {
|
19 | text[z]='A'+ rand() %26;
|
20 |
|
21 | }
|
22 | return text;
|
23 | }
|
weshalb muss es nicht heißen
1 | text = malloc [ zufallszahl+1];??
|
bei
1 | text = malloc ( zufallszahl+1);
|
hätte ich gedacht das Speicher für ein Zeichen reserviert wird und dann
mit dem Buchstaben der der Zufallszahl +1 entspricht initialisiert wird.
Grüße Trudi