Frage zu den Verketteten Listen

Schnelle objektorientierte, kompilierende Programmiersprache.
Antworten
Ivo
Beiträge: 26
Registriert: Fr Sep 26, 2014 3:54 pm

Frage zu den Verketteten Listen

Beitrag von Ivo » Mo Apr 06, 2015 3:10 pm

hallo an allen,
ich habe eine Frage. Ich habe eine Funktion, die so lautet:

Code: Alles auswählen

TrackDescription *copyTrackData(const TrackDescription *orig)                            /* const TrackDescription
															   * wird im Programm nicht
															   * mehr verändert
															   */

{
	TrackDescription *anfang;
	anfang =(TrackDescription*) malloc(sizeof(TrackDescription));                       /* leifert ein Zeicher von type TrackDescription  zurück */                 
	if(anfang != NULL)
	{ 	
		anfang->begin_pos = orig->begin_pos;
		anfang->end_pos	  = orig->end_pos;
		anfang->max_speed = orig->max_speed;
		anfang->next      = NULL;
	}
	else{

		printf("Kein Speicher vorhanden!\n");
		return NULL;	/*!!! return der NULL poiner oder einfach 0 !!!*/
	}

	return anfang;
}
ich verstehe nicht wann man ein Funktionspointer nimmt und wann nicht. Bsp hier TrackDeskription *copyTrackData(....).
ich habe mir gedacht es ist das gleiche wie Bsp. die Func char *strcpy(*char *s1, char *s2) aber bin nicht mehr sicher. Ist es immer ein Funktionszeiger gebraucht, wenn man als Ausgabetype eine Struktur hat oder? Es wäre super , wenn jemand es erklären kann.
Vielen Dank!

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

Re: Frage zu den Verketteten Listen

Beitrag von cloidnerux » Mo Apr 06, 2015 3:13 pm

ich verstehe nicht wann man ein Funktionspointer nimmt und wann nicht.
Du nimmst überhaupt keinen "Funktionspointer".
Ein solcher Ausdruck:

Code: Alles auswählen

myType * myFunc()
bedeutet jediglich, dass du ein Wert vom Typ "myType*" zurück gibst, also einen Pointer auf "myType".
Man macht das, um Zeit und Speicher zu sparen.
Redundanz macht wiederholen unnötig.
quod erat expectandum

Ivo
Beiträge: 26
Registriert: Fr Sep 26, 2014 3:54 pm

Re: Frage zu den Verketteten Listen

Beitrag von Ivo » Mo Apr 06, 2015 3:47 pm

alles klar, wenn um großen Datenmenge geht, nimmt man lieber einen Zeiger um Zeit und Speicher zu sparen.
so zusagen wie Call by Reference.
danke dir

Antworten