美文网首页
C字符串和字符数组的区别

C字符串和字符数组的区别

作者: WendySays | 来源:发表于2016-08-10 22:12 被阅读120次

字符串###

  • C规定了一个"字符串结束标志",以字符 '/0' 代表。如果有一个字符串,其中第10个字符为'/0',则此字符串的有效字符为9个。也就是说,在遇到字符'/0'时,表示字符串结束,由它前面的字符组成字符串。
  • 系统对字符串常量也自动加一个'/0'作为结束符。
  • 可以用字符串常量来初始化字符数组。
    如: char c[]={"I am happy"}; 也可直接写成: char c[]="I am happy"; 注意此时数组的长度不是10,而是11,因为系统自动加上了'/0'结束符

字符数组###

  • 字符数组不要求最后一个字符为'/0',而为了使处理字符数组和字符串的方法一致,便于测定字符串的实际长度,能及方便在程序中处理, 在字符数组末尾也常加上一个'/0'。
  • 如果一个字符数组中包含一个以上'/0',则遇第一个'/0'时输出就结束

二者区别###

字符数组是一个数组,每个元素的值都可以改变。而字符串指针指向的是一个常量字符串,它被存放在程序的静态数据区,一旦定义就不能改变。这是最重要的区别

对字符串指针方式:

char *ps="C Language";

可以写为:

char *ps;
ps="C Language";

而对数组方式:

char st[]={"C Language"};

不能写为:

char st[20];
st={"C Language"};

只能对字符数组的各元素逐个赋值。

参考文章###

C/C++——字符串和字符数组
http://blog.csdn.net/shinehoo/article/details/5823756
C语言字符串指针与字符数组的区别
http://c.biancheng.net/cpp/html/81.html

相关文章

  • C语言字符串的基本使用

    字符串基本使用 可以使用数组来保存字符串 字符串变量和普通的字符数组是有一定区别的 C语言规定:字符串必须以\0 ...

  • C语言- 字符、字符数组

    字符数组和字符串 C语言中没有字符串这种数据类型,C语言中通过char型数组来替代字符串的功能。C语言中的字符串一...

  • 流程控制与数组(数组)

    数组 定义数组 数组的显示初始化 输出字符串和字符串函数 ANSI C提供了如下常用的标准函数来处理C字符串

  • 字符串小知识点

    1,两种申请字符串的区别:我们经常会用这两种方式去申请字符串/字符数组: 然而这两者是有区别的: 在c/c++里面...

  • C 和 Java 中字符串和字符数组的对比

    1. C 和 Java 中字符串和字符数组的对比 实现原理 在 C 语言中,字符串和字符数组本质上都是一块连续的内...

  • 【C语言笔记】<十六>指针和字符串

    通过数组保存字符串和通过指针保存字符串的区别 注意点

  • 字符串

    [toc] 字符串 定义 字符串的本质就是一个字符数组。 注意:字符串变量和普通的字符数组有一定的区别字符串必须以...

  • NDK启航篇——C语言基础(字符串)

    我们写程序肯定会用到字符串,那么C中的字符串怎么写呢? C中的字符串写法 字符串数组存储字符串字符串数组最后要写结...

  • C字符串和字符数组的区别

    字符串### C规定了一个"字符串结束标志",以字符 '/0' 代表。如果有一个字符串,其中第10个字符为'/0'...

  • 11.1 字符串和指针

    关于指针输出字符串 将字符串看作指针 使用指针表示法创建字符串 数组和指针的区别、数组名heart 是常量,指针名...

网友评论

      本文标题:C字符串和字符数组的区别

      本文链接:https://www.haomeiwen.com/subject/mqvjsttx.html