>  기사  >  php教程  >  문자열 포인터와 문자 배열의 차이점

문자열 포인터와 문자 배열의 차이점

高洛峰
高洛峰원래의
2016-12-12 17:22:231984검색

문자 배열과 문자 포인터 변수를 사용하여 문자열을 저장하고 연산할 수 있습니다. 그러나 둘 사이에는 차이가 있습니다. 사용 시 다음 사항에 주의해야 합니다.

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”则程序正常运行,原因如前所述。

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.