目录
字符型数据类型
字符串
字符数组的初始化方式
动态定义数组长度
常用的、对字符串进行操作函数
通俗的来讲,字符一般是字母、数字。我们可以认为字符型就是特殊的整型。
(数字和字母占一个字节,汉字占两个字节)
char a=65;
数字是某个字符对应的ASCII码值
如果输出占位符是 %c 就输出对应字符
如果是 %d 就输出原本数字
如果该数字没有对应的ASCII码值,输出结果乱码
char b='A';
如果输出占位符是 %d,输出对应ASCII码
如果占位符是 %c 直接输出该字符
!!!只能有一个字母,不能是汉字
char c='6';
不论输出占位符是 %c 还是 %d ,输出都是6
因为这时 6 会被当作一个字符而不是数字
只能有一个数字,若赋值多个数字,只输出最后一个
char d='/n';
可以使用各种转义字符
字符串就是很多连在一起的字符,而且字符串可以是汉字哦。我们 一般用字符数组来存放字符串。字符串总是以 \0 结尾。
字符数组的初始化方式
char x[4]={'c','a','t','\0'}; 单引号中只能引用一个字节 最后的\0 其实不用手动添加,系统会自动帮你加上 数组下标最少要比字符多一个,因为要给\0 留位置 char y[]={'c','a','t'}; 当你已经给数组内每一个元素赋值,就可以免去数组下标 这时候系统也会自动帮你添加\0 char z[]={"I love cats!"}; 这种赋值方式算是最简便的,我称之为YYDS
\0 是字符串结束的方式,但输出时不会显示\0 。一定一定加上\0或预留足够空间让系统自动加上。
以前中版本,数组下标是不允许是变量的,只能是常量或者是常量表达式。但是在c99中已经更新,数组下标可以是变量,这意味着数组长度可以被改变。
如下是一个
我将变量a作为数组x的下标,程序正常运行
• puts(输出)和gets(输入),这两个函数只能输入输出字符(串)。
• strcat字符串连接
• strcpy字符串赋值
• strcmp字符串比较(返回0相等)
• strlen字符串长度
• strlwr中大写换小写
• strupr小写换大写
除puts和gets,以上其他函数使用时需要在程序前加上#include
sizeof和strlen的区别:sizeof计算的是字节数(一个数字/字母占两字节,一个汉字占四字节),strlen计算字符数量(即几个字母/数字/汉字),一般后者更加常用。
就酱,拜拜~