wlbk.net
当前位置:首页 >> strlEn和sizEoF的区别 >>

strlEn和sizEoF的区别

sizeof()用来计算内存的 strlen用来计算字符长度的.来个具体点的,一看就知道了.char a[] = "hello"; sizeof(a) = 6; strlen(a) = 5; sizeof会计算字符结尾的\0 strlen 不会计算\0 sizeof操作符返回占的空间;而对于一个数组,sizeof返回这个数组所有元素占的总空间.而strlen不区分是数组还是指针,就读到\0为止返回长度.而且strlen是不把\0计入字符串的长度的.

strlen,是判断字符串的长度,即:string length,在这里是good的长度,长度是4.sizeof,是判断类型的长度,在这里是数组的长度,在这里是str数据的长度,长度是10.

Sizeof与Strlen的区别与联系(转)1.sizeof操作符的结果类型是size_t,它在头文件中typedef为unsigned int类型.该类型保证能容纳实现所建立的最大对象的字节大小. 2.sizeof是算符,strlen

sizeof可以是对于一个类型,如:int,short,char,或者一个结构,能够得到它的字节数,也能得到数组的字节数.还有sizeof不是一个函数strlen是对于字符串的,从第一个元素开始,直到遇到'\0'为止,如果你这么写是错误的 int a[3] = {1, 2, 0}; printf("%d", strlen(a));因此sizeof和strlen有比较大的区别,这些在比较基础的书上都会有介绍

strlen(char*)函数求的是字符串的实际长度,它求得方法是从开始到遇到第一个'\0',如果你只定义没有给它赋初值,这个结果是不定的,它会从aa首地址一直找下去,直到遇到'\0'停止. char aa[10];cout<<strlen(aa)<<endl; //结果是不定的 char

1、区别: (1)strlen是函数,sizeof是运算符. (2)strlen是有效字符串的长度,不包含\0,与初始化有关系,而sizeof与初不初始化没有关系 (3)strlen只能用char*做参数,且必须是以'\0'结尾的,用来计算字符串的长度;sizeof可以用类型

char* ss = "0123456789"; sizeof(ss); //结果 4, ss是指向字符串常量的字符指针 sizeof(*ss); //结果 1, *ss是第一个字符 char ss[] = "0123456789"; sizeof(ss) ; //结果 11, ss是数组,计算到'\0'位置,因此是10+1 sizeof(*ss); //结果 1, *ss是第

char name[]="nike" ;sizeof(name)=5如果数组定义成int,就不能用scanf("%s",name);来输入字符串了,因为这两个类型是不同的.%s只能输入char字符串数据

区别非常明显:sizeof是算所占字节数,strlen是算字符串长度的.即使是计算一个字符串,他们输出的值也是不同的.

网站首页 | 网站地图
All rights reserved Powered by www.wlbk.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com