用字元陣列和字元指標變數都可實現字串的儲存和運算。但是兩者是有差別的。使用時應注意以下幾個問題:
1. 字串指標變數本身是變量,用於存放字串的首位址。而字串本身是存放在以該首位址為首的一塊連續的記憶體空間中並以‘
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”则程序正常运行,原因如前所述。