---------------------- <a href="http://www.itheima.com"target="blank">ASP.Net+Unity开发</a>、<a href="http://www.itheima.com"target="blank">.Net培训</a>、期待与您交流! ----------------------
字符串
三 字符串常量
用双引号引起来的就是字符串常量
字符串用数组保存, 字符串是由字符组成
char str[] = "ABCD";
\0的ascii码值是 0
\0是字符串结束的标志
char str2[] ={'A', 'B', 'C'} // = {'A', 'B', 'C', '\0'};
如果数组元素个数大于初始化的字符,没有初始化的元素的值默认是0
而\0的ascii码值是 0, 所以也是一个字符串
静态初始化, 会更具后面初始化的元素来确定数组的长度
char str[] = {'A', 'B', 'J'};
字符串的本质还是一个数组
%s用于输出字符串
%s是根据传入的地址,依次取出每一个字节输出,直到遇到\0为止
没有\0就不是字符串,
注意:这个就不是字符串,因为没有\0
char str4[3] = {'L', 'N', 'J'};
计算字符串有效长度
strlen用于计算字符串的长度,并且不包括\0
char str[] ="abcd";
int length =sizeof(str);
2. 字符串拼接
strcat用于拼接字符串, TA会把src中的内容拼接到dest后面, 从dest的\0开始拼接src
注意点:name1数组要能够容纳得下 name1本身的字符 + name2的所有字符,
strcat(name1, name2);
拼接完成后会自动在后面加上一个\0
3. 字符串拷贝
会把src中的内容拷贝到dest中
strcpy(char *dest, const char *src);
注意点:dest的容量必须足够大,否则会报错
拷贝之后并不会清空以前的字符串
4.字符串比较
strcmp会比较str1和str2是否相等
如果相等会返回一个int类型的值
如果str1 等于 str2返回0
如果str1 大于 str2返回1(是一个整数)
如果str1 小于 str2返回-1(是一个负数)
strcmp(const char *str1, const char *str2);
是逐个比较
黑马程序员 C语言-----字符串学习理解
---------------------- <a href="http://www.itheima.com"target="blank">ASP.Net+Unity开发</a>、<a href="http://www.itheima.com"target="blank">.Net培训</a>、期待与您交流! ----------------------