sizeof运算符用于返回变量,对象,数据类型的字节长度。
int var =10;
int len =sizeof(var);
int len02=sizeof(int);
sizeof运算符也可以用于数组:
int arr[3]={1,2,3};
int len = sizeof(arr); //3*4(元素的字节长度)
需要注意的是对于字符串常量的使用: 字符串常量是以’\0’字符结尾,所以字符串常量的长度应该比实际的长度多1。
char arr[3]="ab";
通常我们将字符串常量赋值给数组用以下的形式:
char brr[]="abcd";
如果我们使用的是32位操作系统,使用sizeof运算符获得指针的长度时,指针的长度均为4。(因为指针是按照32为寻址的,长度为4个字节)
int arr[5]={1,2,3,4,5};
int*brr=arr;
cout<<sizeof(brr)<<endl; //4个字节
注意: 数组做函数参数时,会退化成指针。
void printF(int arr[])
{
cout<<sizeof(arr)<<endl;
}
int main()
{
printF("abcdefg");
}
函数声明:extern unsigned int strlen(char *s);
功能:返回s所指的字符串的长度,其中字符串必须以’\0’结尾
参数:s为字符串的初始地址
strlen是一个函数,它从第一个字节开始往后数直到遇见了’\0’(空字符),则停止(不包括空字符)。
char arr[] = "abc cd";
//注意: 空字符和空格符不同
cout << strlen(arr) << endl; //6