C的strlen和sizeof的区别
来源:互联网 发布:身份证被别人淘宝开店 编辑:程序博客网 时间:2024/04/24 16:22
【几个例子】
char* ss = "0123456789";
char* ss = "0123456789";
sizeof(ss) //4, ss是指向字符串常量的字符指针
strlen(ss) //10, 只能用它获得这个字符串的长度
char ss[] = "0123456789";
sizeof(ss) //11, ss是数组,计算到‘/0’位置,因此是10+1
strlen(ss) //10, strlen是个函数内部实现是用一个循环计算到/0为止之前
char ss[100] = "0123456789";
sizeof(ss) //100, ss表示在内存中的大小100×1
strlen(ss) //10, strlen是个函数内部实现是用一个循环计算到/0为止之前
int ss[100] = "0123456789";
sizeof(ss) //400, ss表示再内存中的大小100×4
strlen(ss) //错误, strlen的参数只能是char* 且必须是以‘/0‘结尾
【sizeof与strlen区别总结】
1.sizeof是运算符,strlen是函数。
2. strlen是有效字符串的长度,不包含‘/0’,与初始化有关系,而sizeof与初不初始化没有关系
3.sizeof可以用类型做参数,用来计算类型占内存大小,strlen只能用char*做参数,且必须是以'/0'结尾的,用来计算字符串的长度;//strlen形参必须是字符指针类型
4.数组做sizeof的参数不退化,传递给strlen就退化为指针了。//作为指针传递给strlen函数
5. sizeof在编译时计算,而strlen的结果在运行时才能计算出来,//还是用sizeof好 = =
- C的strlen和sizeof的区别
- C语言sizeof 和 strlen 的区别
- C strlen 和 sizeof的区别
- 【C】sizeof 和 strlen 的区别
- C语言sizeof 和 strlen 的区别
- strlen和sizeof的区别
- strlen和sizeof的区别
- strlen和sizeof的区别
- sizeof 和 strlen 的区别
- sizeof 和 strlen的区别
- sizeof和strlen的区别
- sizeof 和 strlen 的区别
- sizeof 和strlen的区别
- strlen和sizeof的区别
- sizeof和strlen的区别
- strlen和sizeof的区别
- sizeof和strlen的区别
- strlen和sizeof的区别
- JavaScript经典效果集锦之四,五
- 个
- 的嘎哈火热
- 领取奖励
- 最近在看《21天学通C》
- C的strlen和sizeof的区别
- 走过
- 2010-12-15随记
- 开始记录……
- mysql学习
- 在新建java文件时自动生成作者和日期
- cp和who
- 12月15号,今天
- 函数重载二义性