Hallo zusammen,
ich habe hier ein Verständnisproblem mit Pointern auf Funktionen.
Angenommen ich habe folgenden Code (gcc compiler für einen PSOC5):
1 | int myfunction(void)
|
2 | {
|
3 | return 0;
|
4 | }
|
5 |
|
6 | int main(void)
|
7 | {
|
8 | uint32_t tmpAdress = (uint32_t)&myfunction;
|
9 |
|
10 | for(;;)
|
11 | {
|
12 | }
|
13 | }
|
Schaue ich mir die Adresse der Funktion myFunction im Watch Window an,
bekomme ich die Adresse 84. Weise ich diese Adresse einer int Variable
zu bekomme ich die Adresse 85. In beiden Fällen wurde mit &myFunction
die Adresse geholt (siehe auch Bild). Kann mir jemand erklären, warum
das so ist?
Vielen Dank und beste Grüße
Heiko