[C++] Funktionsparameter/Pointer :/

moep.at

Urgestein
Thread Starter
Mitglied seit
07.03.2006
Beiträge
2.033
Ort
Österreich
Hi,
hab eine Frage bzlf Funktionsparameter, bin leider noch nicht wirklich gut mit C/C++ :(


ich hab mir eine kleine Hilfsfunktion gemacht, welche mir dynamisch einen Buffer anlegt.
ich will nun diese Hilfsfunktion aufrufen und etwas weiter unten dann einer anderen Funktion den Pointer zu dem angelegten Buffer inklusive Größe übergeben.

Leider scheitere ich daran :/

meine Idee bis jetzt:
Code:
unit8 *pData;
uint16 size=0;
HelperFunction(pData, size); (hier weiß ich shcon nicht mehr wie ich mit pointern usw umgehen soll/muss o.O)
...
zweiteFunktion(uint8* pData, uint16 size);


trotz mehrmaligen lesen von paar seiten scheitere ich immer wieder an diesen dummen pointern... ich glaub ich werd es nie lernen :(

ich hoffe es kann mir jemand helfen :)

mfg
moep.at
 
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Pointer zeigen auf Adressen im Speicher, nicht auf den Wert selbst.

Hast du nun z.B. eine Funktion int test(int* a) verlangt die Funktion keine Variable, sondern eine Adresse:
Code:
#include <iostream>

int test(int* a) {
	return *a + 10;
}

int main() {
	int a = 10;

	std::cout << test(&a) << std::endl;
}

In dem Fall wurde "a" zwar nicht eigenhändig allokiert, sondern einfach die Adresse von "a" übergeben (auch nicht eigenhändig allokierte Variablen haben selbstverständlich Adressen im Speicher). Mit dem &-Zeichen vor der Variable ließt du einfach nur die Adresse aus.

Edith meint: der Herr TE wohnt ja dort, wo ich arbeite! Sieh an ^^
 
Hey,

erstmal Danke! :P

ich sag jetzt lieber nichts zu dem Ganzen... hatte gestern wohl einen Komplett-Aussetzer... war alles gaanz anders und viel einfacher zu lösen... hab sowieso an iwas gebastelt xD


ich geh mich jetzt mal in die nächste Ecke schämen :/



€: haha , so fertig mit schämen... jetzt lach ich nur mehr drüber xD hilft eh nix... hin und wieder hats mich einfach o_O
 
Zuletzt bearbeitet:
Stells dir vielleicht wie Bankkonten vor:

Pointer = Kontonummer
gespeicherter Wert = Kontostand
Deallozierung = Kontonummer abfragen

z.B. Überweise 10€ an *meinkonto. Wie war nochmal schnell die Nummer? Ahja, &meinkonto. Und wieviel ist auf meinem Konto? return unsigned long long int (hehe...) ab der Speicherstelle *meinkonto.
 
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh