解析:什么是字符串数组

[复制链接]
219|1
 楼主 | 2019-2-11 10:53 | 显示全部楼层 |阅读模式
一、概念理解
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.





| 2019-2-11 11:28 | 显示全部楼层
支持下,谢谢分享!
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

我要发帖 投诉建议 创建版块 申请版主

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式

论坛热帖

关闭

热门推荐上一条 /4 下一条

快速回复 返回顶部 返回列表