问:可不可以说字符数组就是字符串?
答:不可以,C语言规定:只有以“\0”结尾的字符数组才称字符串;
核心:任意字符数组,如果希望是一个字符串,则必须以“\0”结尾,才能够用字符串的格式化输出。
字符型常量是用引号括起来的一个或一串字符,例如:‘a’或“abc”都是合法的字符或字符串;
字符常量有以下特点:1.字符常量只能用单引号‘’,不能用其它符号;
2.字符只能是单个字符,不能是多字符;
3.字符可以是字符数组中的任意字符,但数字被定义为字符型后不能参与数值运算;
1.字符串是由多个字符组成的;
2.字符串中的个数为字符串的长度,长度为“0”的字符串为空字符;
3.存储字符串时,由系统在字符串的末尾自动加上一个“\0”作为字符串的结束标志,例如:字符串“welcome”在内存中的存储形式如下:
sizeof与strlen的区别:
sizeof计算字符串时包含了’\0’,而strlen计算时,没有包含’\0’;
定义字符串有三种方式
puts(字符串名)用输出字符串;
gets(字符串名)用于输入字符串;(有风险,容易造成内存溢出)
strcat(字符串名1,字符串名2);
是将字符串2拼接到字符串1当中,所以拼接时第一个字符串变量的空间要足够大;
strcpy(字符串名1,字符串名2);
把字符串名2中的内容替换到字符串名1中,而对字符串2没有任何影响;
strcmp(字符串1,字符串2);
strcmp会返回一个int类型的值,当strcmp==0时,说明这两个字符串是一样的;
底层是通过ASCII码来比较的;
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) | 黑马程序员IT技术论坛 X3.2 |