C语言中sizeof和strlen它们有什么区别
时间: 2023-12-05 18:04:59 浏览: 91
C语言中sizeof()与strlen()的区别详解
`sizeof` 和 `strlen` 是 C 语言中两个不同的操作符,它们的作用和用法也不同。
`sizeof` 是一个操作符,它可以返回一个数据类型或变量所占的字节数。它可以用于任何数据类型,包括基本数据类型、结构体、联合体、枚举等等。例如,`sizeof(int)` 返回 `4`,表示 `int` 类型占用 `4` 个字节的存储空间。`sizeof` 也可以用于数组,返回整个数组的存储空间大小,例如,`sizeof(int[10])` 返回 `40`,表示 `int` 类型的数组大小为 `10`,总共占用 `40` 个字节的存储空间。
`strlen` 是一个函数,它可以返回一个字符串的长度,即该字符串中字符的个数(不包括字符串末尾的空字符`\0`)。它只适用于字符串,即以`\0`结尾的字符数组。例如,对于字符串 `"hello"`,`strlen("hello")` 返回 `5`。
所以,`sizeof` 和 `strlen` 的区别在于,`sizeof` 返回的是数据类型或变量的存储空间大小,而 `strlen` 返回的是字符串中字符的个数。
阅读全文