入门客AI创业平台(我带你入门,你带我飞行)
博文笔记

【linux c】sizeof与strlen的区别简述_学习笔记_008

创建时间:2016-07-16 投稿人: 浏览次数:770
通过一个简单的程序来了解sizeof和strlen的用法,以及和二者的区别。
#include <stdio.h>
#include <string.h>

void size()
{
    printf("
**************************
");

    char *ptr1 = "Hello word";
    char ptr2[] = "Hello word";
    char ptr3[100] = "Hello word";

    printf("sizeof (*ptr1) = %d
",sizeof (ptr1));		//测量char *ptr的长度
    printf("strlen(*ptr1) = %d
",strlen(ptr1));		//测量字符串的长度
    printf("sizeof (ptr2[]) = %d
",sizeof (ptr2));
    printf("strlen(*ptr2[]) = %d
",strlen(ptr2));
    printf("sizeof (ptr3[]) = %d
",sizeof (ptr3));
    printf("strlen(*ptr3[100]) = %d
",strlen(ptr3));
    printf("
");
    
	printf("sizeof (long) = %d
",sizeof (int));		//测量int型的长度
    printf("sizeof (short) = %d
",sizeof (short));
	printf("sizeof (long) = %d
",sizeof (long));
	printf("sizeof (long long) = %d
",sizeof (long long));
    printf("sizeof (float) = %d
",sizeof (float));
    printf("sizeof (double) = %d
",sizeof (double));
	printf("sizeof (char) = %d
",sizeof (char));


    printf("
**************************
");
}

int main()
{
    size();
	
	return 0;
}
<span style="font-size:18px;">结果如下</span>



在实际操作中发现,sizeof的书写格式为:

sizeof(空格)(需要测量的变量名或数据类型)

其中空格可有可无,对变量的测量还可写成:

sizeof(空格)变量名

测量数据类型时括号不可省略。

由此可见,sizeof并不是一个函数,sizeof是一个运算符。

 

sizeof与strlen的区别总结为以下几点:

序号

sizeof

strlen

   1

运算符

函数

 2

测量数组时,测量值为编译器为该数组分配的空间的大小

返回值为数组中字符的个数,遇到’’截止,不包括’’

   3

可以测量变量所占的内存空间大小,以及数据类型的大小,测量单位为字节

只能测量字符串的长度,且结尾必须为’’




声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。