AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

array[1..10] auf Wert prüfen?

Ein Thema von MicMic · begonnen am 9. Aug 2018 · letzter Beitrag vom 9. Dez 2018
 
Dennis07

Registriert seit: 19. Sep 2011
Ort: Deutschland
496 Beiträge
 
Delphi 12 Athens
 
#11

AW: array[1..10] auf Wert prüfen?

  Alt 14. Aug 2018, 00:49
Und eine Schleifenvariable darf eh nicht außerhalb der Schleife benutzt werden.
Das bringt auch hoffentlich eine Compilerwarnung, wenn es trotzdem versucht wird.
Das ist nicht ganz richtig. Es wird keine Wahrnung deshalb ausgegeben, weil es eine Schleifenvariable ist, sondern nur deshalb, weil sie bei einer for -Schleife möglicherweise undefiniert sein könnte (nämlich ist sie das genau immer dann, wenn die Schleife kein einziges mal durchlaufen wurde). Die selbe Wahrnung wird dir aber auch ausgegeben, wenn du auf eine andere Variable zum Lesen zugreifst, die vorher möglicherweise nicht initialisiert wurde. Deshalb kommt es immer auf den Einzelfall an, und nur weil eine Wahrnung ausgegeben wurde, heißt es noch lange nicht, dass das gesagte auch stimmen muss. Der Compiler durchblickt deinen Quellcode eben nur bis zu einem gewissen Punkt.

Jein, die Schleifenvariable steht meistens in einem Register (ax,eax usw.).
Für gewöhnlich eher in ECX (Das "C" steht nämlich für "counter").
Wobei das durchaus schonmal variieren kann, je nach dem, wie die Routine sonst noch so aussieht. Das EAX-Register würde aber ohnehin nicht viel Sinn ergeben, da dort ja das Ergebnis der Funktion in der Regel drin steht.
Dennis
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:47 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz