Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Zeiger

Empfohlene Antworten

Danke Klotzkopp,

Fehler erkannt. Ich mußte erstmal in der Hilfe nach "Literalen" suchen, mir war der Begriff nicht geläufig. Ich hatte ihn mit Ressource gleichgesetzt.

  • Antworten 54
  • Ansichten 7.5k
  • Erstellt
  • Letzte Antwort
Folgende Operationen sind verboten, weil sie undefiniertes Verhalten erzeugen:

  • Jegliche Zugriffe über uninitialisierte Zeiger
  • Jegliche Zugriffe über Nullzeiger
  • Schreibzugriffe auf Stringliterale
  • Jegliche Zugriffe über den alloziierten Speicherbereich hinaus (Buffer Overflow)

und da str4= 0 ist, ist das dann verboten

Ich habe das mal praktisch durchgeführt.

Zeilen 06 und 07 funktionieren. Ich frage mich hier allerdings warum Zeile 06 funktioniert.

Zeile 08 und 09 funktionieren nicht. Bei Zeile 08 ist das klar. Bei Zeile 09 bin ich mir nicht sicher. Liegt es daran, dass str4 einfach völlig undefiniert ist bzw.str4 kein Speicher zur Verfügung gestellt wird?

lg

Ich habe das mal praktisch durchgeführt.

Zeilen 06 und 07 funktionieren. Ich frage mich hier allerdings warum Zeile 06 funktioniert.

Diese Herangehensweise funktioniert bei C und C++ nicht. Laut Standard erzeugt der Code in Zeile 6 undefiniertes Verhalten. Das heißt nicht, dass das Programm an dieser Stelle abstürzen muss (das wäre ein definiertes Verhalten), sondern dass irgendetwas passieren kann.

Man darf bei C und C++ daraus, dass ein Code funktioniert, nicht schlussfolgern, dass er richtig ist.

Liegt es daran, dass str4 einfach völlig undefiniert ist bzw.str4 kein Speicher zur Verfügung gestellt wird?
str4 ist ein Nullzeiger. Nullzeiger dürfen nicht dereferenziert werden, sonst -> undefiniertes Verhalten. Konkret erzeugt das bei allen mir bekannten Compilern auf Betriebssystemen, die virtuellen Speicher anbieten, eine Schutzverletzung.

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.