malloc C Programm

  • Themenstarter Themenstarter Katyafiona
  • Beginndatum Beginndatum
K

Katyafiona

Habe folgende Hausaufgabe bekommen:

# Lesen Sie zwei Strings ein und vergleichen Sie, die Strings mit Hilfe der Systemroutine strcmp() alphabetisch. Geben Sie aus, welcher String alphabetisch größer oder kleiner ist.

Implementieren Sie die Aufgaben mit Pointer of Characters. Bei diesem Programm muß der Speicher für die Strings mit malloc besorgt werden.

Data:
char *string1;
char *string2;

Ich habe bis jetzt Folgendes geschafft:

#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#define TRUE 1
#define FALSE 0

int StringCompare(char *s1, char *s2);

main()
{
int Ret;
char string1[32];
char string2[32];

printf("Bitte geben Sie ein Wort ein>>>\n");
fgets(string1,32,stdin);

printf("Bitte geben Sie noch ein Wort ein>>>\n");
fgets(string2,32,stdin);

Ret = StringCompare(string1,string2);

if (Ret == TRUE)

{ printf("Das erste Wort ist alphabetisch grösser\n"); }

else

{ printf("Das erste Wort ist alphabetisch kleiner\n"); }

}



int StringCompare(char *s1, char *s2)
{
int Ret;
int diff;

diff = strcmp(s1, s2);

if(diff>0)

{
Ret = 1;
}
else
{
Ret = 0;
}

return (Ret);
}

Ich habe jetzt aber keine Idee wo ich hier 'malloc' benutzen kann und was eigentlich 'Pointer of Characters' sind (ist das das Gleiche, wie Zeiger auf Charakter)?

Wäre für Erklärung dankbar :)
 
Mit Pointers of Characters sind char* gemeint (also Zeiger auf char).

Der Sinn der Übung soll vermutlich sein, die festen char-Arrays (string1 und string2) durch dynamisch alloziierte char-Puffer zu ersetzen.

Also würde ich zunächst bei der Definition der beiden Arrays ansetzen. Der Rest soll ja die Übung sein :)
 
Zurück