亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Industrial programming >> C语言

C中字符串的strlen()和sizeof()之间的区别

什么是strlen()

strlen() 是一个查找字符串长度的函数。它计算字符串中出现的总字符数,消除空字符。字符串中的字符总数包括字母、特殊字符和数字,带空格。

在 C 教程中字符串的 strlen() 和 sizeof() 之间的区别中,您将了解到:

什么是 sizeof()

sizeof() 是一个用于计算其操作数大小的函数。它返回特定变量的大小。此函数可应用于任何数据类型,包括原始类型,如整数和指针类型、浮点类型、结构或联合。包含 sizeof() 的程序的输出在 32 位系统和 64 位系统上可能不同。

主要区别:

strlen() 的语法

strcount = strlen(my_string); 

这里,my_string 是一个字符数组变量。

strlen() 示例

在下面的 C 程序中,我们声明了 char 类型的字符串变量。 strng 变量是作为 strlen() 函数的参数传递的,用于查找字符串的长度。

#include<stdio.h> 
#include<string.h> 
int main() 
{ 
    char strng[] = "January"; 
    printf("Length of given string is: %lu\n", strlen(strng));   
}

输出:

Length of given string is: 7

sizeof() 的语法

语法 1)

大小(类型): type=引用类型

sizeof(type) 示例:

在下面的代码中,&type 给出了变量的地址(双 x)。它以 1 递增,给出可以存储下一个 x 类型变量的地址。

将 x 类型转换为 char* 并获取差异将使您知道存储在内存中的 char 类型变量的总数。我们已经使用 getchar() 来读取字符。

#include<stdio.h> 
#define my_sizeof(type) (char *)(&type+1)-(char*)(&type) 
int main() 
{ 
    double x; 
    printf("%ld", my_sizeof(x)); 
    getchar(); 
    return 0; 
}

输出:

8

语法 2)

sizeof(变量名): variable-name=你想确定大小的变量的名称。

在下面的 C 程序中,我们打印 size char 数据类型。 printf 语句包含 sizeof 函数,参数为 char。

sizeof(variable-name) 示例:

#include<stdio.h>
int main()
{
	printf("sizeof(char) = %d\n\n", sizeof(char));
		
	return 0;
}

输出:

sizeof(char) = 1  

语法 3)

大小(表达式): Expression=你必须评估的表达式。

sizeof(表达式)示例:

在下面的程序中,我们首先计算并打印变量的大小。之后,我们对表达式求值,将其存储在变量 a 中,并在 printf 语句中显示结果。

#include<stdio.h>
int main() {
   char p = 'S';
   double q = 4.65;
   printf("Size of variable p : %d\n",sizeof(p));
   printf("Size of an expression : %d\n",sizeof(p+q));
   int a = (int)(p+q);
   printf("Size of explicitly converted expression : %d\n",sizeof(a));
   return 0;
}

输出:

Size of variable p : 1                                                                                                                               
Size of an expression : 8                                                                                                                            
Size of explicitly converted expression : 4  

strlen() 和 sizeof() 的区别

以下是strlen() 和sizeof() 的重要区别:

Strlen() Sizeof() strlen() 是一个预定义函数,定义在名为 string.h 的头文件中。Sizeof() 是一元运算符或编译时表达式,用于计算变量占用的内存量。此方法用于查找字符串或字符数组的长度。此方法用于查找数据(已分配)的实际大小(以字节为单位)。它计算字符串中消除空值的字符数。它返回操作数的大小,而不是字符串长度(包括空值)。它在运行时分配内存并查找变量的空值。Sizeof() 不关心变量值。Strlen() 函数仅适用于字符串Sizeof() 函数返回数量以字节为单位分配的内存。strlen() 中的返回值是 long int。sizeof() 中的返回值是 unsigned int。strlen() 只有一种语法,即 int strlen(const char *str);共有三种语法sizeof() 1) sizeof(type), 2) sizeof(variable-name), 3) sizeof(expres锡安):

C语言

  1. 石棉和玻璃纤维的区别
  2. 结构与联合的区别
  3. C# 对比C++:C# 和 C++ 有什么区别?
  4. C和C++之间的区别
  5. C和Java之间的区别
  6. Python 与 JavaScript:JavaScript 和 Python 之间的区别
  7. Python Vs Ruby:Ruby 和 Python 的区别
  8. Python 2 与 Python 3:Python 2.x 和 Python 3.x 有什么区别?
  9. 链传动和齿轮传动的区别
  10. 直流电机和交流电机的区别
  11. 钎焊和锡焊的区别
  12. 2冲程和4冲程发动机的区别