牛骨文教育服务平台(让学习变的简单)
博文笔记

如何给给字符数组赋值

创建时间:2017-03-28 投稿人: 浏览次数:6573

要说C语言中最让我觉得棘手的,就是字符数组的,C语言中没有字符串这个类型,字符串只能存放在字符型数组中。

那么,我们先来看看如何给一个一维数组赋值:


1、定义的时候直接赋值:

char arr[10] = {"kitty"};

这种写法也可以直接省略花括号,直接写成:

char arr[10] = "kitty";

2、初始化列表,把各个字符依次赋给数组中的元素:

char arr[10] = {"k","i","t","t","y"}

这种写法是不可以省略花括号的。

3、利用字符串处理函数
strcpy( str1, str2)可以将字符串2的内容复制到字符串1中。

char arr[10];
strcpy(arr, "kitty");

利用字符串处理函数对字符串进行赋值,要注意(1)字符数组1必须定义的足够大,以便容纳字符串2;(2)需要包含头文件string.h

对一维数组进行赋值时需要注意的易错情况:
情形一:

char arr[10];
arr[10] = "kitty";

数组元素的下标是从序号0开始,arr[10]最大的下标值为9,况且arr[10]指的是下标为10的元素,一个字符是无法容纳一个字符串的。

情形二:

char arr[10];
arr = "kitty";

arr虽然是个指针,但是它已经指向了堆栈中的10个字符空间,无法指向”kitty“这个常量了。


声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。