Hallo,
ich habe ein Problem, wo ich nicht weiterkomme und erhoffe mir hier um
etwas hilfe.
Ich habe in src1.h eine Struktur deklariert. In src1.c wird diese
definiert und damit gearbeitet.
in src2.c habe ich src1.h inkludiert, damit ich die Struktur kenne.
In src2.c habe ich einen Pointer der struktur erstellt. Ich möchte
gerne, dass dieser auf die Struktur in src1.c zeigt, sodass wenn ich in
src2.c daten darin ändere, diese in src1.c geändert sind.
src1.h
1 | typedef struct
|
2 | {
|
3 | uint8 x;
|
4 | } Name_ts;
|
src1.c
1 | Name_ts name_s;
|
2 |
|
3 | ...
|
4 | void getStructAddress(Name_ts** name_pps)
|
5 | {
|
6 | if (NULL != name_pps)
|
7 | {
|
8 | name_pps = &name_s;
|
9 | }
|
10 | }
|
src2.c
1 | #include "src1.h"
|
2 | ...
|
3 |
|
4 | Name_ts* name_ps;
|
5 | ...
|
6 | ...
|
7 |
|
8 | getStructAddress(name_ps)
|
aber nach aufruf der Funktion getStructAddress ist die adresse von
name_ps immer noch 0.