Null-terminierte Zeichenfolge

8

Welche der folgenden sind Null-terminierte Zeichenfolge?

%Vor%     
czx 09.12.2010, 07:46
quelle

4 Antworten

10
  • Alle: Ein String-Literal ist eine nullterminierte Zeichenfolge
  • str2 und str5 haben die Besonderheit, doppelt nullterminierte Strings
  • zu sein

Auch:

  • char *str1 sollte const char *str1 sein
  • char *str2 sollte const char *str2 sein
icecrime 09.12.2010, 07:47
quelle
8

Sie sind alle nullterminiert ( str2 und str5 sind eigentlich doppelt null-terminiert), weil die Verwendung von Anführungszeichen eine Abkürzung für ein nullterminiertes char-Array ist.

Also das:

%Vor%

Ist das eigentlich:

%Vor%

Variablen, die auf Zeichenfolgenliterale wie diese verweisen, sollten als const deklariert werden.

    
Jacob Relkin 09.12.2010 07:47
quelle
1

Alle. Der C-Compiler aggregiert die Zeichenfolge mit einem Abschluss '\ 0' automatisch, speichert sie dann in einem char [] oder verweist auf char *;

    
Huang F. Lei 09.12.2010 08:06
quelle
-3
___ answer4395997 ___
  • Alle: Ein String-Literal ist eine nullterminierte Zeichenfolge
  • char*s="hi" und hi haben die Besonderheit, doppelt nullterminierte Strings
  • zu sein

Auch:

  • %code% sollte %code% sein
  • %code% sollte %code% sein
___ qstnhdr ___ Null-terminierte Zeichenfolge ___ qstntxt ___

Welche der folgenden sind Null-terminierte Zeichenfolge?

%Vor%     
___ answer4395996 ___

Sie sind alle nullterminiert ( %code% und %code% sind eigentlich doppelt null-terminiert), weil die Verwendung von Anführungszeichen eine Abkürzung für ein nullterminiertes char-Array ist.

Also das:

%Vor%

Ist das eigentlich:

%Vor%

Variablen, die auf Zeichenfolgenliterale wie diese verweisen, sollten als %code% deklariert werden.

    
___ tag123c ___ C ++ ist eine universelle Programmiersprache. Es wurde ursprünglich als Erweiterung von C entworfen und behält eine ähnliche Syntax, ist aber jetzt eine komplett andere Sprache. Verwenden Sie dieses Tag für Fragen zu Code, der mit einem C ++ - Compiler kompiliert werden soll. ___ antwort4396152 ___

Verwenden Sie %code% nicht für den Fall, dass Sie etwas mit der Zeichenkette tun möchten, wie sie geändert wird, oder wenn Sie etwas damit verketten wollen, weil die Zeichenkette %code% im schreibgeschützten Bereich des Speichers und Ihres Programms ist kann abstürzen

    
___ answer4396088 ___

Alle. Der C-Compiler aggregiert die Zeichenfolge mit einem Abschluss '\ 0' automatisch, speichert sie dann in einem char [] oder verweist auf char *;

    
___
lovesh 09.12.2010 08:17
quelle

Tags und Links