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.

Empfohlene Antworten

Ein C-String ist doch ein Zeiger (char*) auf einen char-Array! Du übergibst also nicht die Zeichenkette, sondern den Zeiger auf einen char-Array.

Wenn du Arrays übergibst, wird immer nur der Zeiger auf das erste Element übergeben. Unter VC wird zumindest keine Kopie erstellt, weil du ja nur den Wert, der in dem Zeiger steht, übergibst. Und der zeigt auf das erste Element.

*gleichFeierabendundzweiWochenUrlaubhat*

Hallo,

Es wird grundsätzlich keine Kopie des Arrays erstellt, sondern immer "nur" der Zeiger bzw. die Adresse des Arrays übergeben. Möchtest Du eine Kopie anlegen, so ist dies zu Fuss zu erledigen (malloc, strdup, o.ä.). Bei C liegt die Speicherverwaltung immer in Händen des Programmierers.

Nic

Original geschrieben von Guybrush Threepwood

Hi,

warum legt sich eine Funktion die einen C-String (char*) by Value

übergeben bekommt, keine Kopie der Variable an, sondern ändert das

Original?

Gruß

Guybrush

Du bekommst eine Kopie von Value die aber auf den gleichen String zeigt.

Wenn du dann Value dereferenzierst arbeitest du mit dem Original-String.

Frank

  • Autor
Original geschrieben von SgtBadAzz

Du bekommst eine Kopie von Value die aber auf den gleichen String zeigt.

Wenn du dann Value dereferenzierst arbeitest du mit dem Original-String.

Frank

Achso, ist ja eigentlich auch klar:rolleyes:

Der Zeiger ist schon ne Kopie, aber auf was er zeigt bleibt natürlich gleich.

Danke euch allen.

Guybrush

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

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.