C语言中关于 strlen 和 sizeof 的用法及区别(含例题及解析)
一、前言 首先我们需要知道的是,sizeof既是一个单目操作符,也是一个关键字,其作用是求操作数的 类型长度 (以字节为单位)。 而strlen是一个字符串操作函数,是一个 参数为指针类型 返回值为size_t(unsigned int)的函数,求的是 字符串 的长度。 所以现在我们知道 sizeof是一个求操作数类型长度的操作符(关键字),而strlen是一个求字符串长度的字符串操作函数 。 二、sizeof和strlen的用法 2.1 sizeof操作符在简单变量中的用法 int a = 10; char c = 'c'; printf("%d\n",sizeof(a)); //答案是4(操作数a的类型为整型,32位机器中占4个字节,64位机器中占8个字节) printf("%d\n",sizeof(int)); //答案是4 printf("%d\n",sizeof a); //答案是4(求变量的大小时可以去掉括号) printf("%d\n",sizeof int); //错误(求类型的大小时不能去掉括号) printf("%d\n",sizeof(c)); //答案是1(操作数c的类型为字符型,占1个字节) printf("%d\n",sizeof(char)); //答案是1 printf("%d\n",sizeof c); //答案是1(求变量的大小时可以去掉括号)