代码改变世界

什么是字符串数组

2019-02-12 09:25  farsightCD  阅读(24269)  评论(0编辑  收藏  举报

一、概念理解

1.C语言中没有字符串类型,用一片内存空间保存一串字符,这片空间称作字符数组。

2.以‘\0’结尾的字符数组被称为字符串数组。‘\0’是字符串结束的标志。

3.用双引号括起来的都是字符串。

 

二、初始化

char str[6] = {'h','e','l','l','o','\0'};//字符串数组

char str[6] = “hello”; //简化版写法

char str[6] = {'h','e','l','l','o'};//str[5]的内存上自动赋值为’\0’

char str[10]= {'h','e'} //其余8个元素自动赋值为’\0’

char str[]=“hello”;//元素个数可以省略 数组分配空间大小为字符串中实际赋值字节数6

char *str=“hello”;//str是指针 存储字符串首地址 指向字符串

注意:字符数组与字符串数组

char str[5] = {'h','e','l','l','o'};//是字符数组而不是字符串数组,因为没有’\0’

 

三、赋值

1.利用scanf函数接收字符串。scanf遇到空格或者回车就结束输入 也就是说 字符串中不可以有空格

 

2.利用gets函数接收字符串。可以接受有空格的字符串

 

3.(1)字符串拷贝--strcpy,该函数会将源的数据拷贝到目标中,并且会覆盖掉目标中原有的数据,目标的内存必须能够存放拷贝的数据。

(2)使用这个函数必须加头文件<string.h>

 

四、求字符串大小

1.使用strlen函数

(1)它是一个字符串函数,它相当于一个计数器,当它遇到’\0’时就停止计数。(不含字符‘\0’)

(2)需要加头文件<string.h>

(3)注意:这个函数只能用于求得字符串大小,不能求其他类型大小。

 

结果:

 

2.使用sizeof 是关键字 求得变量或类型所占内存空间大小

 

结果:

 

3.