• 保存字符串的方法


    1.字符数组:

                         char str[]=”sbdc”;

                char str2[]={“abdcdef”}; 

      但是如果char str2[]={‘a’,’d’,’f’,’g’},想用printf(“%s”,str)这种格式输出,会遇到如下的结果: 

       原因为 printf这个函数是遇到’’就结束,所以解决的方法是:char str2[]={‘a’,’d’,’f’,’g’,’’},结果如下:

     

    或者解决方法为:

    也就是说,定义数组的时候,也设置了数组的长度也可以输出理想的结果!

    2.字符串指针(指向一个字符串的指针变量)

    例如: int  *p;  分两种:

      (1)字符指针(总结:用单引号的为字符指针)

         char ch=’a’;

         char *s=&ch;

      (2)字符串指针(用双引号的为字符串指针)

          cahr  *str=”abc”;

       从上面这个实例,可以知道  定义了一个字符串指针变量,变量名为 strstr存放的是 “abc”这个字符串的首地址,这个首地址就是第一个字符的地址  &a.

       用字符串指针遍历读取字符串的每个字符两种方法:

    ( str+1 表示指向下一个元素的地址)

    注意:字符串指针不能直接接收键盘输入的内容!

             字符串可以从键盘中输入内容:

                 

                 

               

                 (要注意以上三种的区别)  因为 str=&str[0]

                 字符串指针不能直接接收键盘输入的内容:

                

               字符串数组保存在栈区,可以被读写。字符串的写入操作如下:

                

               

            字符串指针存放内存中的常量区,只可以读,不能被修改。

    3.char类型的指针数组,可以保存多个字符串

         字符串数组的要求有两个:

        (1)该数组是二维的字符数组

        (2)是char类型的指针数组

                char *str[]={“asd”,”fgh”,”ert”};

                用for循环来遍历每个字符串

                 forint i=0;i<3;i++{printf(“%s ”,str[i])};

    注意: 

    1不能修改 字符串的内容,因为每个字符串都在内存的常量区存储(常量的数据只能读,不能修改)

    2).   字符串指针变量可以重新被赋值,但是指向会发生改变,如果s重新被赋值的内容是相同的,此时,指向没有发生改变

        

          

    3)字符数组不能被整体重新赋值,但是可以改变某个字符!

    4.二维的字符数组也可以存放多个字符数组,可以改变某个字符串的某个字符。

  • 相关阅读:
    python3图片转化成字符画
    ubuntu 18.04安装PIL(Python Imaging Library )
    Ubuntu 18.04安装钉钉
    django 使用iframe跨域请求
    django 自定义日志字段
    Ubuntu18.04下安装搜狗输入法(亲测有效)
    Nginx 配置指令手册
    js闭包Demo
    自己写了一个无缝滚动的插件(jQuery)
    写JQuery 插件 什么?你还不会写JQuery 插件
  • 原文地址:https://www.cnblogs.com/lyz0925/p/4354809.html
Copyright © 2020-2023  润新知