Hi Sommenfee!
Vielen Dank das Du mir Hilfst. Stimmt schon mein Beispielcode war etwas unsauber.
bool switch, hat mir selber am besten gefallen.
Ich meinte:
Code:
int main(){
struct val *v;
fillValues(v);
}
Mit:
Code:
int main(){
struct val v;
fillValues(&v);
}
hat das Testprogramm jetzt gut funktioniert.
Code:
#include<stdio.h>
#include<stdbool.h>
struct val{
int a;
char* b;
};
void fillValue(struct val *v){
v->a = 10;
v->b = "Text";
printf("1: v->a=%p %i\n",&v->a, v->a);
printf("1: v->b=%p %s\n",v->b, v->b);
}
void fillValues(struct val *v){
fillValue(v);
printf("2: v->a=%p %i\n",&v->a, v->a);
printf("2: v->b=%p %s\n",v->b, v->b);
}
int main(){
struct val v;
fillValues(&v);
printf("3: v.a=%p %i\n",&v.a, v.a);
printf("3: v.b=%p %s\n",v.b, v.b);
return 0;
}
Ausgabe:
1: v->a=0xa04c364 10
1: v->b=0x8048590 Text
2: v->a=0xa04c364 10
2: v->b=0x8048590 Text
3: v.a=0xa04c364 10
3: v.b=0x8048590 Text
Lesezeichen