在学习C++的时候,碰到两个关键词 sizeof() strlen(),在这里简单探究一下。
sizeof
参数:sizeof( type ) ,不知道这个type有什么限制,到目前为止,我碰到的type都可以使用.
作用:返回type占用的空间大小(以byte为单位).
使用:直接使用即可,系统编译环境自动加入,不需要#include ,和java中java.lang package中的类类似,不用import.
strlen
参数:strlen(char*).
作用:返回char*占用的空间大小(以byte为单位),这是以’\0’为终止符.
使用:需要#include <string.h>
.
下面通过一个例子来感性认识一下,同时适用于char*参数时,返回的数据有何不同。
案例对比
// strlen_sizeof_test.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include <string.h>
#include <iostream>
int main()
{
char mystr[32] = "test";
printf("sizeof mystr %d\n", sizeof(mystr));
printf("strlen mystr %d\n", strlen(mystr));//<string.h>
sizeof(mystr);
system("Pause");
return 0;
}
同时看一下内存位置:
ok!