重点_sizeof()和strlen().c

本文深入探讨了C语言中sizeof和strlen函数的区别与应用。sizeof用于计算变量类型的存储空间大小,而strlen则用于计算从变量值开始到第一个空字符的距离,即有效字符串的长度。文章通过多个实例演示了不同类型变量的sizeof和strlen结果,帮助读者理解两者的使用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

*sizeof()是计算括号中变量的类型所占的储存空间(不考虑内容)
*strlen()是计算变量值为起点的内存地址到第一个空字符’\0’的距离,以字节为单位,字符串尾部为’\0’ *简单理解:
*sizeof()是类型的长度, strlen()是有效字符串的长度,不包括空字符

#include <stdio.h>
#include <string.h>  //目的:调用取字符串长度strlen()
#define NUM 56  //声明int常量
#define STR "Hello"
#define CH 'A'

int main(void)
{
	int n = 56;
	printf("int n = 56的sizeof:%d\n\n", sizeof(n));

	/*char a[5] = {'a', 'b', 'c', 'd', 'e'};
	printf("char a[5] = \"Hello\"的sizeof:%d\n", sizeof(a));
	printf("char a[5] = \"Hello\"的strlen:%d\n\n", strlen(a));*/

	char m = 'A';
	printf("char m = \'A\'的sizeof:%d\n\n", sizeof(m));  //字符以int类型保存,所以sizeof(CH)=4

	int array1[50] = { 4, 4, 4, 4 };
	printf("int array1[50]的sizeof:%d\n\n", sizeof(array1)); //int数组以int类型保存,所以sizeof(array)=4*50=200

	long long array2[50] = { 4, 4, 4, 4 };
	printf("long long array2[50]的sizeof:%d\n\n", sizeof(array2));  //long long数组以int类型保存,所以sizeof(array)=8*50=400

	char array3[50] = { 4, 4, 4, 4 };
	printf("char array3[50] = { 4, 4, 4, 4 }的sizeof:%d\n\n", sizeof(array3));
	printf("char array3[50] = { 4, 4, 4, 4 }的strlen:%d\n\n", strlen(array3));

	char *s = "0123456789";
	printf("char *s = \"0123456789\"的sizeof:%d\n\n", sizeof(s));
	printf("char *s = \"0123456789\"的strlen:%d\n\n", strlen(s));

	char ss[] = "0123456789";
	printf("char ss[] = \"0123456789\" 的sizeof:%d\n\n", sizeof(ss));
	printf("char ss[] = \"0123456789\" 的strlen:%d\n\n", strlen(ss));

	getchar();
	return 0;

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值