`

C语言中对sizeof()和strlen()的说明

 
阅读更多

1.sizeof函数

sizeof函数返回表达式所占的内存空间(以字节为单位)

 例:


#include<stdio.h>

#define MONTHES 12

int main(void)
{
	int days[MONTHES] = {31,28,31,30,30,30};
	
        int len = sizeof(days);
	printf("days:%d",len);
	
	return 0;
}


 这段程序输出的结果为:days:48    

 因为一个int型在内存中占4个字节,而days数组有12个元素,故共48字节

 另外若想求此数组长度,可用如下语句:

int len = sizeof(days) / sizeof(days[0]);  

  /*sizeof(days)是整个数组所占的字节数,sizeof(days)时数组中一个元素所占的字节数*/

2.strlen函数

     此函数包含在string.h头文件中。返回字符串长度 ,而非在内存中的字节数,

   以"\0"为结束判断,且'\0'不算入总数。

3.sizeof和strlen比较

      strlen只计算字符串的长度,且'\0'不计算在内。而sizeof可计算各种数据类型在内存中所占的字节数。

且sizeof在计算字符串长度时(char类型在内存中只占一个字节,故用sizeof函数计算字符串时相当于计算其长度),'\0'计算在内。

分享到:
评论

相关推荐

    C语言中关于sizeof 和 strlen的区别分析

    1、编译时计算运算符sizeof,可用类型或变量做参数,计算占用内存的大小。sizeof后若是类型必须加括弧,若是变量名可不加括弧。sizeof(x)可用来定义数组维数如: 代码如下: printf(“%d\n”, sizeof(short));  ...

    sizeof与strlen区别详解

    sizeof和strlen是两个常用的操作符和函数,但是它们的使用场景和返回结果却有很大的区别。本文将详细介绍sizeof和strlen的区别和联系。 1.sizeof操作符的结果类型是size_t,它在头文件中typedef为unsigned int类型...

    sizeof和strlen的区别

    `sizeof`和`strlen`是C语言中两个非常重要的概念,它们在处理内存和字符串长度时发挥着不同的作用。理解这两个操作符的区别对于编写高效、可靠的C程序至关重要。 `sizeof`是一个运算符,用于获取类型或者变量在内存...

    sizeof 和strlen 区别.pdf

    在C语言中,`sizeof`和`strlen`是两个非常重要的工具,它们分别用于获取不同类型的大小信息。`sizeof`是一个运算符,而`strlen`是一个函数,它们有着明显的区别。 1. `sizeof`运算符: - `sizeof`在编译时计算,...

    c语言strlen转义字符,转义字符 & sizeof & strlen-CSDN博客.mhtml

    c语言strlen转义字符,转义字符 & sizeof & strlen-CSDN博客.mhtml

    C语言中的sizeof操作符用法及和strlen的区别

    在C语言中,`sizeof`是一个非常重要的操作符,它用于获取任何数据类型或变量在内存中占用的字节数。而`strlen`是一个函数,主要用于计算以空字符`\0`结尾的字符串的长度。两者虽然都涉及到内存大小,但用途和使用...

    sizeof 和strlen的区别

    在计算机编程领域,尤其是C语言或C++等底层语言中,`sizeof`和`strlen`是两个非常重要的操作符或函数,它们各自有着独特的用途和应用场景。本文将深入探讨这两个概念的区别及其背后的原理。 ### `sizeof`操作符 `...

    C语言中sizeof()与strlen()的区别详解

    sizeof()和strlen()经常会被初学者混淆,但其中有有很大区别: sizeof() 1. sizeof()【操作数所占空间的字节数大小】是一种c中的基本运算符。 可以以类型、指针、数组和函数等作为参数。 头文件类型为unsigned int。...

    C语言中sizeof()与strlen()函数的使用入门及对比

    在C语言中,`sizeof()`和`strlen()`是两个非常重要的运算符和函数,它们各自服务于不同的目的。本文将深入探讨这两个概念,并提供一些实际应用的例子。 `sizeof()`是一个运算符,而不是函数,这意味着它的计算是在...

    浅谈sizeof与strlen函数的区别.pdf

    在C语言中,`sizeof`和`strlen`都是用来获取内存占用信息的重要工具,但它们的应用场景和计算方式却有着显著的区别。本文将详细解析这两个操作符的特性。 首先,`sizeof`是C语言中的一个操作符,而不是函数。它能够...

    strcpy,sprintf,memcpy的区别,Sizeof与Strlen的区别.docx

    sizeof是C语言中的一个操作符,它在编译时就能计算出类型或变量所占用的内存大小,例如: ```c sizeof(int) // 返回int类型的大小 sizeof(array) // 返回整个数组的大小,无论是否已初始化 ``` 而strlen是一个函数,...

    Sizeof与Strlen的区别与联系.docx

    在计算机编程中,`sizeof`和`strlen`是两个经常使用的操作符和函数,它们在处理字符串和数据类型时有着不同的作用和特性。本文将深入探讨它们之间的区别和联系。 首先,`sizeof`是一个C++和C语言中的运算符,用于...

    有关strlen和sizeof的归纳与总结

    ### 有关`strlen`和`sizeof`的归纳与总结 #### 一、`sizeof`的深入解析 **(一)`sizeof`的概念...通过以上分析,我们可以清晰地区分并理解`sizeof`和`strlen`这两个重要的C语言特性,并在实际编程中正确地使用它们。

    strcpy,sprintf,memcpy的区别,Sizeof与Strlen的区别.pdf

    在编程领域,了解和熟练掌握不同的内存操作函数是非常重要的,特别是在C语言中。本文将深入探讨`strcpy`、`sprintf`、`memcpy`这三种函数的区别以及`sizeof`和`strlen`的区别与联系。 首先,让我们来看`strcpy`、`...

    C 语言关于sizeof() 和 strlen()区别.pdf

    在C语言中,`sizeof()` 和 `strlen()` 都是用来获取数据大小的函数,但它们的作用对象和计算方式有着显著的差异。理解这些差异对于优化代码和避免内存问题至关重要。 `sizeof()` 是一个运算符,而不是函数,它返回...

    解析sizeof, strlen, 指针以及数组作为函数参数的应用

    在C语言中,`sizeof`和`strlen`是两个非常重要的操作符,它们分别用于获取数据类型或变量的大小和字符串的长度。而指针和数组则是C语言中常见的数据结构,它们在函数参数传递中有着特殊的用法。本文将详细解析`...

    C语言strlen()函数

    在C语言中,`strlen()`函数是一个非常重要的字符串处理函数,它被广泛用于获取字符串的长度。这个函数是C标准库中的一个组成部分,通常在`&lt;string.h&gt;`头文件中声明。下面我们将深入探讨`strlen()`函数的工作原理、...

Global site tag (gtag.js) - Google Analytics