黑马程序员 C语言-----字符串学习理解

---------------------- <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会比较str1str2是否相等

    如果相等会返回一个int类型的值

    如果str1 等于 str2返回0

    如果str1 大于 str2返回1(是一个整数)

    如果str1 小于 str2返回-1(是一个负数)

   strcmp(const char *str1, const char *str2);

      是逐个比较

---------------------- <a href="http://www.itheima.com"target="blank">ASP.Net+Unity开发</a>、<a href="http://www.itheima.com"target="blank">.Net培训</a>、期待与您交流! ----------------------  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值