Zeichenarrays und Zeichenzeigervariablen können zum Speichern und Bedienen von Zeichenfolgen verwendet werden. Aber es gibt einen Unterschied zwischen den beiden. Bei der Verwendung sollten Sie auf folgende Punkte achten:
1. Die String-Zeigervariable selbst ist eine Variable, die zum Speichern der ersten Adresse des Strings verwendet wird. Die Zeichenfolge selbst wird in einem fortlaufenden Speicherplatz gespeichert, der von der ersten Adresse angeführt wird und mit „ endet.
View Code #include<iostream.h> #include<ctype.h> /******************************************************************************/ /* * Convert a string to lower case */ int strlower(char *string) { if(string==NULL) { return -1; } while(*string) { if(isupper(*string)) *string=tolower(*string); string++; } *string='\0'; return 0; } /*char *strlower(char *string) { char *s; if (string == NULL) { return NULL; } s = string; while (*s) { if (isupper(*s)) { *s = (char) tolower(*s); } s++; } *s = '\0'; return string; } */ void main() { char *test="ABCDEFGhijklmN"; strlower(test); cout<<test<<endl; }
其中,如果采用char *test=”ABCDEFGhijklmN”;会产生运行时错误。Char test[]=”ABCDEFGhijklmN”则程序正常运行,原因如前所述。