definiert und durchläuft ein Array von Strings in c

8

Wie kann ich ein Array von String in c definieren und dann mit einer Schleife durch die Elemente im Array iterieren?

Bisher habe ich

%Vor%     
user391986 25.07.2011, 05:55
quelle

9 Antworten

10

Wenn Sie eine Zeichenfolge mit "" deklarieren, wird null terminator hinzugefügt.

%Vor%     
MByD 25.07.2011, 06:04
quelle
7
%Vor%
  1. Sie müssen keine maximale Länge haben.
  2. Alle Zeichenfolgen in C sind nullterminiert.
Engineer 07.03.2014 00:04
quelle
2
  

Muss ich die maximale Länge "10" angeben?

Ja, abgesehen von der 1. Dimension des Arrays müssen Sie alle nachfolgenden Dimensionen angeben

  

Es wird automatisch ein Null-Endzeichen nach dem erstellt   Zeichenfolge?

Ja

  

Ich muss jeden String an eine Funktion übergeben, die const char *

akzeptiert

Sie können jede Zeichenfolge wie folgt übergeben:

%Vor%

Sie können auch zwischen const char* und char* ; da Sie dies als ein Array deklariert haben, ist es modifizierbar; War es so etwas wie

? %Vor%

Dann müssen Sie es als const char* übergeben, da String-Literale immer const char*

sein sollten     
iammilind 25.07.2011 06:02
quelle
1

ad 1) Sie müssen eine Länge angeben

ad 2) Ja, String-Literale sind null-ended.

In Ihrem for, rufen Sie einfach die Funktion mit dem Parameter myStrings [i] auf.

    
Hyperboreus 25.07.2011 06:01
quelle
0

Ja, Sie müssen die Länge angeben oder einen NULL-Eintrag als letzten Eintrag in Ihrem Zeichenfolgenarray hinzufügen. C macht das nicht automatisch für Sie.

    
Dov Grobgeld 25.07.2011 05:57
quelle
0

Versuchen Sie das ..

%Vor%     
Mehmet Fatih Tabak 25.07.2011 14:37
quelle
0

Ich mache das immer so, scheint mir elegant und einfach Sie definieren einfach ein Array wie gewohnt, ohne festen Index.
Alles, was Sie sicherstellen müssen, ist eine einzelne 0 am Ende hinzufügen.
Dann können Sie den kürzesten TEST-Fall machen und ihn für oder während durchlaufen.

Hier ist ein Beispiel, es zeigt eine Liste von Optionen und das passende Hilfe-Element an (in diesem Fall muss das Hilfe-Array mindestens so lang wie die Optionen sein.)

%Vor%     
John 24.06.2014 00:31
quelle
0
___ answer6812288 ___
  

Muss ich die maximale Länge "10" angeben?

Ja, abgesehen von der 1. Dimension des Arrays müssen Sie alle nachfolgenden Dimensionen angeben

  

Es wird automatisch ein Null-Endzeichen nach dem erstellt   Zeichenfolge?

Ja

  

Ich muss jeden String an eine Funktion übergeben, die const char *

akzeptiert

Sie können jede Zeichenfolge wie folgt übergeben:

%Vor%

Sie können auch zwischen %code% und %code% ; da Sie dies als ein Array deklariert haben, ist es modifizierbar; War es so etwas wie

? %Vor%

Dann müssen Sie es als %code% übergeben, da String-Literale immer %code%

sein sollten     
___ answer22238833 ___
%Vor%
  1. Sie müssen keine maximale Länge haben.
  2. Alle Zeichenfolgen in C sind nullterminiert.
___ qstntxt ___

Wie kann ich ein Array von String in c definieren und dann mit einer Schleife durch die Elemente im Array iterieren?

Bisher habe ich

%Vor%     
___ qstnhdr ___ definiert und durchläuft ein Array von Strings in c ___ answer6812279 ___

ad 1) Sie müssen eine Länge angeben

ad 2) Ja, String-Literale sind null-ended.

In Ihrem for, rufen Sie einfach die Funktion mit dem Parameter myStrings [i] auf.

    
___ answer6812256 ___

Ja, Sie müssen die Länge angeben oder einen NULL-Eintrag als letzten Eintrag in Ihrem Zeichenfolgenarray hinzufügen. C macht das nicht automatisch für Sie.

    
___ answer6817779 ___

Versuchen Sie das ..

%Vor%     
___ antwort43873529 ___

In C ist die obige Aussage ** n!="" auf den ersten Blick illegal. Es vergleicht einen Zeiger mit einer Zeichenfolge. Even * n!="" Würde den Zeiger der Zeichenfolge mit dem "" Stapelzeichenfolgenzeiger vergleichen, nicht mit den Zeichenfolgen. Verwenden Sie strcmp oder vergleichen Sie das erste Zeichen ** n == '\ 0' oder ** n == 0. Außerdem erhöht + * n das Zeichen in der angegebenen Zeichenfolge, nicht den Zeiger in der Zeichenfolge ...

Hier ist eine gute Implementierung:

Code:

%Vor%     
___ tag123c ___ C ist eine universelle Computerprogrammiersprache, die für Betriebssysteme, Bibliotheken, Spiele und andere Hochleistungsanwendungen verwendet wird. Dieses Tag sollte bei allgemeinen Fragen zur C-Sprache verwendet werden, wie in der Norm ISO 9899: 2011 definiert. Fügen Sie ggf. ein versionsspezifisches Tag wie c99 oder c90 für Fragen zu älteren Sprachstandards hinzu. C unterscheidet sich von C ++ und es sollte nicht mit dem C ++ - Tag kombiniert werden, wenn ein rationaler Grund fehlt. ___ answer46594318 ___

Dies könnte helfen

%Vor%     
___ answer24376634 ___

Ich mache das immer so, scheint mir elegant und einfach Sie definieren einfach ein Array wie gewohnt, ohne festen Index.
Alles, was Sie sicherstellen müssen, ist eine einzelne 0 am Ende hinzufügen.
Dann können Sie den kürzesten TEST-Fall machen und ihn für oder während durchlaufen.

Hier ist ein Beispiel, es zeigt eine Liste von Optionen und das passende Hilfe-Element an (in diesem Fall muss das Hilfe-Array mindestens so lang wie die Optionen sein.)

%Vor%     
___ answer6812300 ___

Wenn Sie eine Zeichenfolge mit %code% deklarieren, wird null terminator hinzugefügt.

%Vor%     
___
user2195463 09.05.2017 15:09
quelle
0

Dies könnte helfen

%Vor%     
Hossein Momen 05.10.2017 20:30
quelle

Tags und Links