Hallo,
als Anfänger in C++ versuche ich gerade zu verstehen, wie man
mittels Pointer auf Arrays in einem struct zugreifen kann. Leider kann
ich dazu jedoch nichts eindeutiges finden, kann jemand bitte einen
Tipp geben?
Folgendes ist klar und funktioniert auch, gewollt ist direkter Zugriff
über die Adresse auf x un Ausgabe des Inhaltes
#include <iostream>
int main()
{
int x;
int *p; // Pointer p erzeugen um auf Variable des Typs int zuzugreifen
p = &x; // Pointer p auf Adresse von x setzen
*p = 42; // x mittels Derefenzierer * über p mit 42 beschreiben.
std::cout << x << std:endl; // Inhalt x zur Konsole ausgeben
return 0;
}
--------------------------------------------------
Was nun leider nicht funktioniert ist folgendes:
#include <iostream>
struct xy_matrix
{
int array_x[5];
int array_y[5];
};
int main()
{
xy_matrix *p; // Pointer p des Typs xy_matrix erzeugen
p = &array_x; // hier hätte ich gern die Adresse des Elements array_x
// geholt, klappt aber nicht :(((
usw usw.
Wo ist der dicke Denkfehler?
Es hilft auch nichts, das struct innerhalb von main() zu schreiben oder
&array_x[0] zu verwenden.
Frage:
Wie komme ich an die Adresse von array_x und array_y und wie beschreibe
ich dann diese Arrays?
Schon jetzt, vielen Dank für eure Hilfe..
Viele Grüsse
Peter
Peter Krengel schrieb: > struct xy_matrix > { > int array_x[5]; > int array_y[5]; > }; Das definiert nur den Typ, aber instanziiert keine Variable. Ohne Variable kein Speicher, und ohne Speicher auch keine Adresse des Speichers, über die auf irgendwas zugegriffen werden könnte.
Oh ja, ......danke für den Hinweis....wohl ein typischer Anfängerfehler... Danke nochmal! Gruss Peter
Gast
#2943920
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.