文字列ポインタと文字配列の違い

高洛峰
リリース: 2016-12-12 17:22:23
オリジナル
2028 人が閲覧しました

文字配列と文字ポインタ変数を使用して、文字列を保存および操作できます。しかし、両者には違いがあります。使用する場合は、次の問題に注意する必要があります:

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=&#39;\0&#39;;  
     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 = &#39;\0&#39;; 
     return string; 
 } 
 */  
   
 void main()  
 {  
     char *test="ABCDEFGhijklmN";  
     strlower(test);  
     cout<<test<<endl;  
 }
ログイン後にコピー

其中,如果采用char *test=”ABCDEFGhijklmN”;会产生运行时错误。Char test[]=”ABCDEFGhijklmN”则程序正常运行,原因如前所述。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート