Sizeof与Strlen的区别与联系

本文深入解析C++中sizeof和strlen的区别,详细介绍它们如何获取数组、指针和对象的内存大小,以及如何在实际编程中正确使用这两个函数。通过实例演示,帮助开发者理解内存管理的基础知识。

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

1、 sizeof:

sizeof(...),是一个运算符,定义为unsigned in类型,其大小在编译期间决定的,参数可以是基本数据类型、数组、指针、对象、函数等。

功能:获得保证能容纳实现所建立的最大对象的字节大小。

   数组:数组所占空间字节数:

   指针:存储该指针所用的空间大小

   对象:该对象所占内存空间大小

二、strlen:

     strlen(...)是函数,要在运行时才能计算。参数必须是字符型指针(char*)。当数组名作为参数传入时,实际上数组就退化成指针了。
     功能是:返回字符串的长度。该字符串可能是自己定义的,也可能是内存中随机的,该函数实际完成的功能是从代表该字符串的第一个地址开始遍历,直到遇到结束符NULL。返回的长度大小不包括NULL

	TCHAR* str0 = _T("12345");
	TCHAR buf[100] = _T("Hello");
	TCHAR buf1[100];

	_tcscpy(buf,str0);
	int len = _tcslen(buf);//结果:5
	len = sizeof(buf); //结果:200


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值