常用函数sizeof()

6 篇文章 0 订阅

length()

C++中, length()只是用来获取字符串的长度。
例如:

string str = “abcdef”;
str.length() = 6;


size()

C++中,获取字符串的长度时,size()与length()函数作用相同。
除此之外,sizeo()还可以获取vector类型的长度
例如:

vectornum(15,2);
num.size() = 15;


sizeof()

sizeof()运算符用来求对象所占内存空间的大小。
在Windows64系统环境下, 各种基本类型的大小如下:

sizeof(char) = 1
sizeof(int) = 4
sizeof(long) = 8
sizeof(float) = 4
sizeof(double) = 8
sizeof(string) = 28

除此之外,64位编译器下的指针型的长度为8(32位为4),即
sizeof(int*) = sizeof(float*) = sizeof(char*) = 8

常量值以及变量值的长度,等同于其实际类型的长度
sizeof(2) = 4
sizeof(3.14) = 8 //double型

代码测试案例

int main()
{
	char c[] = "asdsds";
	char* cc = c;
	int cn[40] = "asdsds";
	int a[] = {1, 2, 3, 4, 5, 6}:
	int* aa = a;
	cout<<sizeof(c)<<sizeof(cc)<<sizeof(*cc)<<sizeof(cn);
	cout<<sizeof(a)<<sizeof(aa)<<sizeof(*aa);
	return 0;
}
//输出
sizeof(c) = 7  //c是数组,计算到'\0'位置,结果为6*1 + 1 = 7
sizeof(cc) = 8 //指针类型
sizeof(*cc) = 1  //*cc指向c的第一个字符,大小为1
sizeof(cn) = 40  //开辟40个char空间,大小为40*1 = 40
sizeof(a) = 24; //a是数组,但是不需要计算到'\0',结果为6*4 = 24
sizeof(aa) = 8; //aa为指针类型
sizeof(*aa) = 4;  //*aa指向a的第一个数字,大小为4

代码测试案例2

int main()
{
	int array[] = {8, 2, 9, 6, 2, 4}:
	int length1 = sizeof(array)/sizeof(array[0]);
	int length2 = sizeof(array)/sizeof(*array);
	int length3 = sizeof(array)/sizeof(int);
	cout<<length1<<cout<<length2<<cout<<length3;

	return 0;
}
//输出
length1 = 6;
length2 = 6;
length3 = 6;

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值