1 | #include "stdafx.h" |
2 | |
3 | |
4 | int *decode_arr(){ |
5 | |
6 | |
7 | int *y; |
8 | int element[]={1,2,4,8,16,64}; |
9 | |
10 | y = element; |
11 | |
12 | return y ; //Rückgabe der Adresse element[0] |
13 | |
14 | }
|
15 | |
16 | |
17 | int end_arr (int *ptr){ |
18 | |
19 | |
20 | int i; |
21 | |
22 | for(i=0;i<6;i++) |
23 | |
24 | printf("\nelement[%i] = %i",i,ptr[i]); |
25 | |
26 | return 0; |
27 | |
28 | |
29 | |
30 | |
31 | }
|
32 | |
33 | |
34 | |
35 | |
36 | |
37 | int _tmain(int argc, _TCHAR* argv[]) |
38 | {
|
39 | |
40 | int *x; |
41 | |
42 | x =& *decode_arr();// x kriegt die adresse von element[0] |
43 | |
44 | end_arr(x);// Adresse elemnt[0] in die Funktion rein. |
45 | |
46 | |
47 | |
48 | getchar(); |
49 | |
50 | return 0; |
51 | }
|
Ich weiss,wie es anders geht.In dieser Form mit 2 Unterfunktionen möchte ich arbeiten nicht andersrum. Ich möchte in einer Unterfunktion die Anfangadresse von array zurückgeben.Den Wert in die andere Unterfunktion reinhauen.Dann in der Unterfunktion die Arrays wieder ausgeben.Wo ist mein fehler?