zoukankan      html  css  js  c++  java
  • C语言中字符串的创建

      在C中创建字符串的方法有两种,即通过指针创建或通过数组创建。

                    通过指针创建

      创建语句:

    1 char *str = "abc";

      这句代码首先创建一个指针,再将字符串赋值给指针,其实这句代码可以写为两句,即:

    1 char *str;
    2 str = "abc";

      为什么第2句代码可以成立,可以这样来解释,在C语言中赋值符号两边的数据类型必须一致才不会报错。这样看来,str和“abc”都为指针类型,查阅资料后了解到确实如此。原因在于双引号做了如下工作:

      1. 申请空间(在常量区),存放字符串;

      2. 在字符串末尾添加字符结束符“”;

      3. 以指针形式返回地址。

      根据第3点语句2中等号右边的“abc”返回的是一个指针类型的变量。我们来测试一下程序的结果如何,测试代码如下:

    1 void main()
    2 {  
    3     char *str;
    4     str = "abc";
    5     printf("%s",str);
    6     getchar();
    7 }

      结果如下:

     

      测试工具为vc++6.0

                     通过数组创建

      创建语句,以下两个语句都可以创建字符串,需要注意的是用双引号表示的字符串后面还有一个隐藏的字符结束符“”,所以1中的字符长度应该笔你实际看到的要多1。

    创建方法1 char *str[4] = "abc";
    创建方法2 char str[4] = {'a','b','c',''};

      针对创建方法1的测试代码:

    1 void main()
    2 {  
    3     char str[4] = "abc";
    4     printf("%s",str);
    5     getchar();
    6 }

      针对创建方法2的测试代码

    void main()
    {  
        char str[4] = {'a','b','c',''};
        printf("%s",str);
        getchar();
    }

      测试结果如下,都是一样的:

      

      测试工具为vc++6.0

      以上就是C语言中字符串的创建方式。

  • 相关阅读:
    timequest 中set input delay set output delay 的使用
    ALTERA的FPGA命名规则
    modelsim仿真常用系统函数
    altium布局布线原则
    altium常用快捷键记录
    第五篇:使用无缓冲IO函数读写文件
    第四篇:“ 不确定 "限制值的使用
    第三篇:POSIX标准中的 “ 限制 ”
    第二篇:库函数和系统调用的区别
    hdu 4284(状压dp)
  • 原文地址:https://www.cnblogs.com/happy2015-everyone/p/11017197.html
Copyright © 2011-2022 走看看