C++ 字符数组赋值

1、char c[5];

 c[0]=’H’; c[1]=’e’; c[2]=’l’; c[3]=’l’; c[4]=’o’;

2、charc[5]={‘H’,’e’,’l’,’l’,’o’};

3、(1)如果在定义字符数组时不进行初始化,则数组中各元素的值是不可预测的;

  (2)如果花括号中提供的初值个数(即字符个数)大于数组长度,则按语法错误处理;

  (3)如果花括号中提供的初值个数(即字符个数)小于数组长度,则只将这些字符赋给数组中前面那些元素,其余的元素自动定为空字符(即‘\0’);

4、(如何将字符串赋值给字符数组)

C语言中,将字符串作为字符数组来处理的。C语言规定了一个“字符串结束标志”,以字符’\0’作为标志。为此,再对字符数组初始化的方法补充一种用字符串常量来使字符数组初始化方法:

char c[] = {“Hello”};

或 char c[] =“Hello”;   注意:数组c的长度不是5,而是6.

     上面的初始化等价于:char c[5]={‘H’,’e’,’l’,’l’,’o’,’\0’};

              而不等价于:charc[5]={‘H’,’e’,’l’,’l’,’o’};

5、字符数组的输出

char c[] ={“Hello”};

printf(“%s”,c);

6、(如何将字符串赋值给字符数组)

strcpy(字符数组1,字符串2)

  eg: char str1[10]=’’, str2={“Hello”};

     strcpy(str1,str2);

     执行后str1状态为:

H

e

l

l

o

\0

\0

\0

\0

\0

   (1)“字符数组1”必须写成数组名形式(如str1),“字符串2”可以是数组名,也可以是字符串常量。eg strcpy(str1, “Hello”);

   (2)不能用赋值语句将一个字符串常量或字符数组直接给一个字符数组。如下面两句都是不合法的:str1=”Hello”;

      str1=str2;

      而只能用strcpy函数将一个字符串复制到另一个字符数组中去,赋值语句只能将一个字符赋给一个字符型变量或者字符数组元素。如下面的语句是合法的:

      char c[5],c1,c2;

      c1=’A’;c2=’B’;

      c[0]=’H’; c[1]=’e’; c[2]=’l’; c[3]=’l’; c[4]=’o’;

7、strlen函数是测试字符串实际长度(不包含‘\0’在内)的函数。

  char c[10]=”Hello”’

  printf(“%d”,strlen(c)); 或者Printf(“%d”,“Hello”);  输出为5
--------------------- 
作者:sandwich125 
来源:CSDN 
原文:https://blog.csdn.net/sandwich125/article/details/79160994/ 
版权声明:本文为博主原创文章,转载请附上博文链接!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章