Ich hab ein klitzekleines Problem, kann mir vielleicht von euch jemand sagen was
double (*h[10])[6];
für ein Array erzeugt??
sind das 6 * 10 Pointer und wenn ja wie kann man auf alle zugreifen?
kommt folgendes raus:
size of a= 8, ptra=4, (*h[10])[6]=40
und ich weiss nicht so recht wie ich an die anderen Arrayeinträge drankommen soll.
Bis denne und danke schön schon mal!
Master_User
03.03.2004, 00:01
Hast du dir das selber überlegt?
Weist du eigentlich was du da machst?
wiso schreibst du nicht einfach so wie jeder normal mensch
a[6], weist du wie lange ich überlegt habe was das hier (*h[10])[6] ist?
Ich sage da nur Jesus maria un Josef dazu!
ICh glaube aber bin mir nicht 100% sicher es erzeugt ein array double*6.
Weis meinst du mit zugreifen? lesen schreiben
für lessen
for(int i=0; i<6; i++)
{
printf("der wert des arays auf der position %d ist %lf\n", i+1,(*h[10])[i]);
}
habs nicht dur den compiler geschigt aber theoretisch muste das funken.
für lesen ne scanf oder getchar, am besten scanf aber.
DYSTOPIC
03.03.2004, 00:23
Muss man sich doch nicht direkt so aufregen! :eek:
Hast du dir das selber überlegt?
Weist du eigentlich was du da machst?
wiso schreibst du nicht einfach so wie jeder normal mensch
a[6], weist du wie lange ich überlegt habe was das hier (*h[10])[6] ist?
Ich sage da nur Jesus maria un Josef dazu!
Nein ich hab mir das NICHT selbst überlegt und ich weiss auch nicht genau was ich da mache, denn das ganze gehörte zu einer ÜBUNGSAUFGABE, die etwa lautete "Wieviel Speicher belegt (*h[10])[6]?" (Die Speichergrößen der elementaren Datentypen war genannt.)
Ich wollte lediglich wissen wie ich dieses merkwürdige Array zu interpretieren hab.
Ich dachte das wäre klar durch den Titel des Threads, wenn es nicht klar war, sorry, trotzdem braucht man sich nicht derartig aufregen.
ICh glaube aber bin mir nicht 100% sicher es erzeugt ein array double*6.
Weis meinst du mit zugreifen? lesen schreiben
Wenn ich lesen kann erübrigt sich code für schreiben, weil ich dan eben weiss wie ich die Struktur zu interpretieren hab.
Master_User
03.03.2004, 00:31
Hey man sorry wenn ich irgetwie kommisch war, aber so etwas macht kein mench auser man heist naturlich PROFESOR :p . wenn du den platz berechnen wilst dan so
a=6*sizeof(double) nicht nur double den sonst bekommst du den platz von nur ein double!!.
Und pass auf das du immer wenn es notwendich ist von 0 auf zehlst, das erspart dir viel mühe!
DYSTOPIC
03.03.2004, 00:50
Is kein Prob, ich dachte mir das das ganze ein Missverständnis ist!
Eins versteh ich noch nicht so ganz:
Warum kommt überhaupt ein double Array heraus? Oder bin ich jetzt so vernagelt dass ich das um die Uhrzeit nicht mehr raffe? (is ja schon spät) ;)
mezzo mix
03.03.2004, 02:20
hallo, schau es dir mal im speicher an, da wird oft einiges klarer :)
is mir jetzt aber auch zu spät zum nachdenken :D
mezzo mix
03.03.2004, 02:22
ups, ist beim konvertieren oben ein kleines stück verlorengegangen. da steht noch zwei speicheradressen...