第30课 - C语言中的字符串

1、字符串的概念

        字符串是有序字符的集合 

        字符串是程序中的基本元素之一 

        C语言中没有字符串的概念 

            -C语言中通过特殊的字符数组模拟字符串 

            -C语言中的字符串是以'\0'结尾的字符数组


2、字符数组与字符串 

        在C语言中,双引号引用的单个或多个字符是一种特殊的字面量 

            -存储于程序的全局只读存储区 

            -本质为字符数组,编译器自动在结尾加上'\0'字符 


    下面那些是字符串的定义?


3、实例分析 

字符数组与字符串     30-1.c

  1. #include <stdio.h>  
  2.   
  3. int main()  
  4. {  
  5.     char ca[] = {'H''e''l''l''o'};  
  6.     char sa[] = {'W''o''r''l''d''\0'};  
  7.     char ss[] = "Hello world!";  
  8.     char* str = "Hello world!";  
  9.       
  10.     printf("%s\n", ca);  
  11.     printf("%s\n", sa);  
  12.     printf("%s\n", ss);  
  13.     printf("%s\n", str);  
  14.       
  15.     return 0;  
  16. }  

        


4、鲜为人知的小秘密 

        你知道吗? 

            -字符串字面量的本质是—个数组 

            -字符串字面量可以看作常量指针 

            -字符串字面量中的字符不可改变 

            -字符串字面量至少包含—个字符 


5、字符串字面量 

            "Hello World ! "是—个无名的字符数组 

                    下面的表达式正确吗?

            


6、实例分析 

字符串字面量的本质     30-2.c

  1. #include <stdio.h>  
  2.   
  3. int main()  
  4. {  
  5.     char b = "abc"[0];  
  6.     char c = *("123" + 1);  
  7.     char t = *"";  
  8.       
  9.     printf("%c\n", b);  
  10.     printf("%c\n", c);  
  11.     printf("%d\n", t);  
  12.       
  13.     printf("%s\n""Hello");  
  14.     printf("%p\n""World");  
  15.       
  16.     return 0;  
  17. }  

                    


7、字符串的长度

            字符串的长度就是字符串所包含字符的个数 

            字符串长度指的是第—个'\0'字符前出现的字符个数 

            通过'\0'结束符来确定字符串的长度 

            函数 strlen用于返回字符串的长度


8、编程实验 

strlen的使用     30-3.c 

  1. #include <stdio.h>  
  2. #include <string.h>  
  3.   
  4. int main()  
  5. {  
  6.     char s[] = "Hello\0world";  
  7.     int i = 0;  
  8.       
  9.     for(i=0; i<sizeof(s)/sizeof(char); i++)  
  10.     {  
  11.         printf("%c\n", s[i]);  
  12.     }  
  13.       
  14.     printf("%s\n", s);  
  15.   
  16.     printf( "%d\n", strlen(s) );  
  17.     printf( "%d\n", strlen("123") );  
  18.    
  19.       
  20.     return 0;  
  21. }  


                        



9、小结

            C语言中通过字符数组模拟字符串 

            C语言中的字符串使用'\0'作为结束符 

            字符串字面量的本质为字符数组 

            字符串相关函数都依赖于结束符'\0'


猜你喜欢

转载自blog.csdn.net/qq_39654127/article/details/80032141
今日推荐