前言
字符串定义:字符串也可以简称为串,在数据结构中,串是一种在数据元素的组成上具有一定的约束条件的线性表,即要求组成线性表的所有数据元素都是字符,所以说串是一个有穷的字符序列。
为什么要学习字符串?我们所以显示的东西都是字符串,他对于我们来说很重要。
提示:以下是本篇文章正文内容,下面案例可供参考
一、字符及字符串数组
字符是什么?
字符就是ASCII码表上的一些字符。给位可以自己搜索
1).字符的定义
类型名为:char 他为1字节,他只能为一个字符
字符需要用单引号 ’ ’
char c = 'a';//初始化 c = 'b';//赋值 //输出 printf("%c",c);//使用格式化输出符:%c
2).字符数组
初始化及赋值:
char ch[5] = { 'A', 66, 'C', 'D', 69}; char ch[5] = { 'A', 66, 'C' }; //初始化部分元素,其余默认初始化为 0 char ch[] = { 'A', 66, 'C' }; //初始化时,可不写个数 //赋值 ch[0]="B";
怎么输出
(1).使用for循环
int i = 0; for (i = 0; i < 5; i++) //一个一个元素输出 printf("%c ", ch[i]);
3).字符串
(1).字符’\0’介绍与字符’0’、0的区别
定义:以 \0 结尾的字符数组,\0 就是数字 0,ASCII 表上第一个字符 ‘\0’ : 字符
数字 0 的字符形式,\叫转义字符,\0 共同构成 1 个字符,站 1 字节
0 : 数字 0 ,数值上’\0’,NULL,0 三者一样
作用在不同场景,以经验区分 ‘0’ : 字符 0,48 的字符形式
(2).字符串的使用
字符串本质就是一个字符数组,只是字符串是用双引号的一串
使用:
//s:string 字符串 char s[20]={"hello world"};//初始化 char s2[20] = {"hello 人才程序猿!"} //输出 printf("%s",s);//使用格式化字符串"%s" //输入 scanf_s("%s",&s,20);//如果使用的vs的,字符串变量后面需要加字符串的元素 //那么scanf就不用了 //赋值:只能一个一个元素赋值 s[0] = 'o';
4).能不能写中文?写中文要注意什么
(1)首先我们要知道,一个汉字2字节
(2)我们可以像写普通的字母一样写中文
注意!中文2字节,不要超过大小
5).自带\0 结尾
二、字符串指针
字符串指针初始化
char s[10]={"aaa"}; char *sp = s; char *spp = "hello world"; //C语言最标准的写法:加const const char *cc = "heew";
中间 '\0’啥意思?
'\0’字符串结尾的意思
示例:“he\0llo”,那么字符串就是: he 字符串只找结尾
其他问题
空格会作为分隔符,不会输入到字符串中
想输入空格怎么办?使用 gets_s 函数
char s[20]={'\0'}; gets_s(s,20);
下期预告:字符串操作函数