C++ Sizeof运算符与Strlen函数

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

猜你喜欢

转载自blog.csdn.net/wue1206/article/details/81369542