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

Veröffentlicht

Hallo, Leute bin neu hier 

Ich habe das Internet nach einer Antwort auf dieser Frage durchsucht aber nichts gefunden. Es mag wie eine banale Frage auf manche wirken aber ich möchte da doch sicher gehen. Gibt es einen Unterschied zwischen char *argv[] und char* argv[].

Bin gerade am C Lernen habe mir einige Tutorials durchgelesen und auf Youtube angeschaut und mal wird die eine Variante verwendet mal die Andere. Durch die Eingabe von Kommandozeilenargumenten konnte ich keinen Unterschied festellen aber warum dann die unterschiedliche Schreibweise?

Beides ist das selbe. Allerdings kann die Schreibweise char* argv[] in die Irre führen. Beispiel:

char* c1, c2; 

welchen Typ hat nun c2? char oder char*. Die Antwort ist char. Nur c1 ist char*. Es wäre also besser, man schreibt

char *c1, c2;

oder man trennt es gleich:

char *c1;
char c2;

Der Grund für diese unterschiedliche Schreibweise liegt in den Unterschieden zwischen C und C++. 
In C schreibt man char *c1. Weil es der Zeiger auf ein char ist. In C++ ist es üblich, den Typen und dann den Variablennamen zu schreiben. Der Typ ist ja ein Zeiger auf ein char. Also char* c1.

Da aber C++ nur eine Erweiterung von C ist, versteht der Compiler beide schreibweisen.

Am 25.5.2019 um 05:44 schrieb MR10:

Hallo, Leute bin neu hier 

Ich habe das Internet nach einer Antwort auf dieser Frage durchsucht aber nichts gefunden. Es mag wie eine banale Frage auf manche wirken aber ich möchte da doch sicher gehen. Gibt es einen Unterschied zwischen char *argv[] und char* argv[].

Bin gerade am C Lernen habe mir einige Tutorials durchgelesen und auf Youtube angeschaut und mal wird die eine Variante verwendet mal die Andere. Durch die Eingabe von Kommandozeilenargumenten konnte ich keinen Unterschied festellen aber warum dann die unterschiedliche Schreibweise?

Praeferenz.

 

Ich sag immer: man nutze doch bei pointern immer:

char *args;

einfach aus dem einfachen grund, dass du auf eine speicheradresse zeigst, nicht auf einen Datentypen. Liest sich besser, meiner meinung nach.

 

im uebrigen, fuer dich noch als kleine information ...

char *argv[];
char **argv;

is fast das gleiche, bis auf das du auf dem oberen teil sagt: das ist ein Zeiger auf ein zeiger mit X-Laenge.

Bei dem unteren Teil sagst du eher: Ich zeige auf einen Zeiger von Zeiger mit undefinierter Laenge.

 

dennoch kannst du bei dem unteren beispiel den [] operator aufrufen und somit direkt auf elemente zugreifen.

 

Hoffe ich konnte es nochmal ein wenig erlaeutern :)

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.