sizeof和strlen使用技巧

来源:互联网 发布:淘宝旺铺装修 编辑:程序博客网 时间:2024/06/04 23:25

1.介绍

相同点:    sizeof和strlen都可以计算字符串的长度。不同点:    sizeof:是运算符    strlen:是函数

2.举例

**a.例如,定义如下:**    char *info = "hello,si mida!!\n"    问: 给info字符串指针用malloc动态分配内存空间最好用sizeof还是strlen?    答案是最好用strlen。    因为:                malloc(strlen(info));    用strlen 遇到\0然后停止,字符串大小不计算\0在内;    相反:                malloc(sizeof(info));    用sizeof计算的是4,因为sizeof只关心类型的大小(类型的大小意思是info这个字符指针的类型,它的类型是char ×,所以用sizeof计算的是4),不是我们要的结果 **b.在例如:**     如果是:char info[] = "hello,si mida!!\n"这种形式呢?     问:         当成这个形式的时候,我们用sizeof和strlen哪个更好呢?    答:        按道理来讲,变为这中形式后,sizeof和strlen都可以用,但是用哪一个更好?当然是sizeof。        因为,strlen是函数,而sizeof是运算符,使用函数需要调用,肯定比sizeof耗时长,所以使用sizeof更好一些。
1 0
原创粉丝点击