Hallo, ich habe ein double Array[10]; In einer for-schleife möchte ich nacheinander auf die Elemente zugreifen. Wenn ich nun das folgende Konstrukt aufschreibe: for(uint8_t j=0; j<10; j++) { double Var = Array[i]; } klappt das? oder müsste der Laufindex "j" ebenfalls im double-Format vorliegen, damit die Daten im richtigen Abstand ausgelesen werden? mfg
Array schrieb: > klappt das? Was sagt denn dein C-Buch zu dem Thema? Abgesehen davon kannst du dem Compiler kein i für ein j vormachen. Da ist der gnadenlos... Oliver
Array schrieb: > oder müsste der Laufindex "j" ebenfalls im double-Format vorliegen, > damit die Daten im richtigen Abstand ausgelesen werden? Eine Frage: Sind Briefkästen in einem Hochhaus anders durchnummeriert, nur weil sie in dem einen Haus breiter sind als im anderen? Wäre das sinnvoll, oder wäre es eher sinnvoll die Kästen einfach anhand ihrer Abfolge durchzunummerieren ohne Ansehen ihrer Breite, denn wenn man den Abstand des x-ten Briefkastens von der Mauer in einem speziellen Haus haben will, muss man ja sowieso nur dieses x mit der Breite eines Briefkastens multiplizieren, da alle Briefkästen eines Hauses gleich breit sind.
Danke Karl-Heinz. Frage beantwortet. Allerdings ist die Frage, ob dies sinnvoll ist oder nicht doch eine ganz andere. Möglicherweise geht es ja auch um Verschlüssselung, in der es durchaus erwünscht sein kann, Datenbytes auseinander zu reissen...
Array schrieb: > Allerdings ist die Frage, ob dies sinnvoll ist oder nicht doch eine ganz > andere. Nun, gegeben der Fall, es hätte einen Sinn, Arrays z.B. auch mit einer /double/-Variablen zu indizieren: Was würdest Du hiervon erwarten?
1 | double array[10.4]; |
Wie groß (in Bytes) ist das Array?
1 | array[3.5] = 10.23; |
2 | array[3.51] = 1.204; |
Was steht jetzt wo im Array?
Array schrieb: > Danke Karl-Heinz. > > Frage beantwortet. > > Allerdings ist die Frage, ob dies sinnvoll ist oder nicht doch eine ganz > andere. Eigentlich nicht. Denn wir gehen erst mal vom Normalfall eines Arrays aus. Und bei dem ist es so, dass man die Speicherberechnung dem Compiler überlässt. Denn der weiß, wie breit konkret in diesem Haus (Array) die einzelnen Briefkästen sind und kann daher auch ausrechnen wo im Speicher (auf der Mauer) der x-te Briefkasten anfängt und wo er wieder aufhört. Und das alles nur, indem man ihm die Nummer des Briefkastens gibt und er weiß, wie groß ein einzelner Briefkasten ist. Ob du die Nummer mit arabischen Ziffern oder mit römischen Zahlen schreibst, ist dagegen völlig uninteressant. Der 5. Briefkasten ist deswegen ja auch nicht weiter von der Wand weg. Und den 2 Komma 8-ten Briefkasten gibt es nun mal nicht. Es gibt den 2-ten und es gibt den 3-ten. Aber dazwischen ist nichts. > Möglicherweise geht es ja auch um Verschlüssselung, in der es > durchaus erwünscht sein kann, Datenbytes auseinander zu reissen... Und, wo liegt da jetzt das Problem?` Die Frage war ja nicht: wie muss ich es anstellen dem Compiler ein Array, welches aus double gebildet wird, so unterzujubeln, dass ich auf einzelne Bytes zugreifen kann. Das man eine derartige Operation mal braucht, ist unstrittig. Aber deswegen erklärt man ja nicht den Ausnahmefall zum Standard.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.