字符数组是什么

在C语言中,字符数组是一组按照顺序存储的字符,每个字符占据一个字节的存储空间。字符数组可以用来存储字符串,字符串是以'\0'结尾的字符序列。在C语言中,字符串可以用双引号括起来表示。

给字符数组赋值的方法

给字符数组赋值有很多种方法,下面介绍几种常用的方法。

第一种方法:字符数组初始化

在定义字符数组时,可以使用双引号将字符串直接赋值给字符数组,如下所示:

char str[] = "hello world";

这种方法可以方便地将一个字符串赋值给字符数组,不需要一个一个字符地赋值。

第二种方法:逐个赋值

可以使用循环将字符一个一个地向字符数组中赋值,如下所示:

char str[12];
int i;
for(i=0;i<11;i++)
{
    str[i] = 'a' + i;
}
str[11] = '\0';

这种逐个赋值的方法适用于字符数组中的字符不是连续的,比如要将'A'到'Z'放入字符数组中。

第三种方法:strcpy函数

使用strcpy函数可以将一个字符串复制到字符数组中,如下所示:

char str[12];
char* p = "hello world";
strcpy(str, p);

这种方法适用于要将一个已经存在的字符串复制到字符数组中,而不用重新写一个字符数组。

总结

给字符数组赋值有很多种方法,选择合适的方法可以使代码更简洁、高效。常用的方法有字符数组初始化、逐个赋值和strcpy函数。在使用字符数组时应该注意数组越界的问题,以及字符串结束标志'\0'的添加。