打卡学习C语言的第五天-字符串

文章详细介绍了C语言中字符串的概念,指出字符串是由字符组成的,以作为结束标志。在C语言中,字符串实际是字符数组,可以通过`strlen()`函数计算长度,但未明确结束标志的字符串可能会导致长度计算错误或内存溢出。添加能确保正确打印和计算字符串长度。
摘要由CSDN通过智能技术生成

一、小结:

1.字符串

2.计算字符串长度


二、字符串:

C语言中‘字符’类型为 char类型,‘a’单引号加一个字面常量表示为字符,字符可以用变量来存放

例如: char ch = 'a';

如果是一串字符用双引号引起来的表示字符串,字符串用什么类型呢

在C语言中没有表示字符串的类型,但是可以将字符串存放在字符数组中

#include <stdio.h>
int main()
{
	char arr[] = "abcdef";//当数组[ ]中没有数值时则会根据后面的内容来自动补充。
	return 0;
}

三、字符串的结束标志:

字符串的结束标志为 \0,在字符串中是隐藏的

char arr[] = "abcdef";

可以在监视中查看

 

如果将'a'~'f'六个字符存到数组中,没有'\0'结束标志,结果和字符串一样吗?

char arr[] = "abcdef";

char arr1[] = { 'a','b','c','d','e','f' };

查看arr1监控:

 

结果为:由于arr1数组中没有找到\0则会继续往其他内存中寻找,直到找到\0为止

printf("%s\n", arr);//abcdef
printf("%s\n", arr1);//abcdef烫烫烫烫烫烫烫烫烫烫烫瘊??

可以在arr1中添加一个 字符'\0',arr 和arr1的结果就相同。

    char arr[] = "abcdef";
	char arr1[] = { 'a','b','c','d','e','f','\0'};

	printf("%s\n", arr);//abcdef
	printf("%s\n", arr1);//abcdef


	printf("%d\n", strlen(arr));//6
	printf("%d\n", strlen(arr1));//6

当数组[ ]中没有值时,会根据后面字符的长度自动生成,而当[ ]中的值大于后面字符的长度时,字符缺少的部分会默认补0,

而 \0在ASCLL码值中的值就是0,所以在[ ]填入大于后面字符的数值是 \0也可以省略

    char arr1[7] = { 'a','b','c','d','e','f'};
	printf("%s\n", arr1);//abcdef


	printf("%d\n", strlen(arr1));//6

四、字符串的长度:

strlen()            -string length字符串长度的缩写

在调用strlen()库时,需要引入头文件 #include <string.h>

printf("%d\n", strlen(arr));//6
printf("%d\n", strlen(arr1));//随机性

计算字符串arr的长度时 \0不作为字符串的长度,只是结束标识

由于arr1数组中没有找到\0则会继续往其他内存中寻找,直到找到\0为止,其结果成随机值

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值