字符数组

1.基本知识:

字符串是连续的字符序列, 以空字符'\0'作为终止符.

字符串的长度指所有字符的数量,但不包括'\0'.

存储字符串的数组要比字符串长度多一个元素,以容纳字符串终止符.

    char ch[] = "shi";
    cout << sizeof(ch) << endl   //数组大小:4,sizeof来计算数组的大小
    << strlen(ch) << endl;       //字符串长度:3

在调用 strcat()之前,可以采用标准函数 strlen()进行测试,以确保长度没有问题,函数 strlen()返回其字符串参数的长度,如下所示:

if ( sizeof(str1) >= ( strlen( str1 ) + strlen( str2 ) + 1 ) )
  strcat( str1, str2 );

2.两种初始化方式


//下面两者是等价的:
char str1[30] = "Let's go";             // 字符串长度:8;数组长度:30
char str1[30] = { 'L', 'e', 't', '\'', 's',' ', 'g', 'o', '\0' };

不可以对字符串采用以下的赋值操作:

char str[20];
str="shi"; // incompatible types in assignment of ‘const char [4]’ to ‘char [20]’

 可以通过strcpy来实现,也要满足数组大小>=strlen(str)+1

posted @ 2019-04-01 21:23  心媛意码  阅读(208)  评论(0编辑  收藏  举报