sizeof() 和strlen() 碰见字符串

"本文详细介绍了字符数组的两种初始化方式,并对比了sizeof和strlen函数在计算字符串长度时的区别。示例中展示了不同情况下,数组空间大小的计算以及字符串长度的确定,强调了''在两者中的不同处理方式。"
摘要由CSDN通过智能技术生成

首先,字符串数组初始化的方式只有两种
1、逐个字符初始化字符数组:

char str[10]={ 'h','e','l','1','o' };

注意:如果花括号中提供的字符个数大于数组长度,则按语法错误处理;若小于数组长度,则其余的元素自动定为’\0’ 。
2、用字符串常量来初始化字符数组:

char str[]={"hello"};

也可以省略花括号

char str[]="hello";

接下来,就是 sizeof 和 stelen 的区别

sizeof("hello")=6;

char str1[] = { 'h','e','l' ,'\0'};
sizeof(str1)=4;

char str2[10] = { 'h','e','l' };
sizeof(str2)=10;

char str3[] = { 'h','e','l','\0','l' };
sizeof(str3)=5;
	printf("%d   ", strlen("hello"));//5

	char str1[] = { 'h','e','l' ,'\0'};
	printf("%d   ", strlen(str1));//3

	char str2[10] = { 'h','e','l' };
	printf("%d   ", strlen(str2));//3

	char str3[] = { 'h','e','l','\0','l' };
	printf("%d   ", strlen(str3));//3

strlen读到\0为返回长度,而且不把\0计入字符串长度
sizeof是计算数组分配的空间大小,把\0计入字符串长度

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值