zoukankan      html  css  js  c++  java
  • 保存字符串的方法

    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.二维的字符数组也可以存放多个字符数组,可以改变某个字符串的某个字符。

  • 相关阅读:
    Net中应用 Redis 扩展类
    【ASP.Net MVC3 】使用Unity 实现依赖注入
    NET平台常用的框架整理
    ABP 基于DDD的.NET开发框架 学习(三)创建模块:任务管理
    ABP 基于DDD的.NET开发框架 学习(二)创建实体
    ABP 基于DDD的.NET开发框架 学习(一)
    生成二维码图片
    淘宝图片指纹匹配功能c#实现
    webAPI中“System.Web.Http.HttpConfiguration”不包含“EnableSystemDiagnosticsTracing”的定义解决办法
    NuGet包 安装相关指令
  • 原文地址:https://www.cnblogs.com/lyz0925/p/4354809.html
Copyright © 2011-2022 走看看