首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

sizeofsizeof与strlen的区别

一.sizeof介绍 sizeof是一个关键词也是操作符,专门用来计算类型或者变量大小,其实sizeof也可以计算数组的大小,单位都是字节。...sizeof操作符的操作数可以是类型,也可以是变量或者表达式。 sizeof(类型) sizeof 表达式 sizeof的操作数如果不是类型,是表达式的时候,可以省略掉后边的括号。...sizeof后边的表达式是不真实参与运算的,根据表达式的类型来得出大小。 sizeof的计算结果是size_t类型的。...;//a是变量的名字,可以省略掉sizeof后边的() printf("%zd\n", sizeof(int)); printf("%zd\n", sizeof (3 + 3.5)); return...(arr)); return 0; }//返回40 1.1sizeof中表达式不计算 在sizeof运算符中,表达式不会被计算,因为sizeof运算符返回的是数据类型的字节数,而不是表达式的值

8210
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    _countof和sizeof

    _countof和sizeof     最近在网上搜代码,找到一些不错的源码,作为我的比赛项目的参考。不过看代码的时候发现一个很重要的问题,很多人忽略(包括我经常看的XX的视频,还有我自己)。...所以in bytes的时候,传入sizeof(szBuf)就行了。比如我在《 sqlite的C语言使用 》讲过的sqlite3_prepare函数,第三个参数就传入sizeof(zSql)。    ...在没开启uncide的情况下,就算sizeof和_countof用混了,也不影响程序最终运行。...因为结果都是256.     2.在开启了宽字节UNICODE的时候     sizeof(szBuf) == 512     _countof(szBuf) == 256     两者不一样了。...应该传入_countof(strDir)可是我们现在传入的是sizeof(strDir),传成了字符数组占用空间的大小。调试运行看: ?

    1.1K30

    sizeof和strlen的区别(strlen和sizeof的用法)

    (str1)=4 sizeof(str2)=6; sizeof(str3)=8; sizeof(ss)=11 首先说明一点,char类型占一个字节,所以sizeof(char)是1,这点要理解 str1...)为8 str4和str2类似,’0′ ‘1’ … ‘9’加上’\0’共11个字符,所以ss占的空间是8 总之,对于指针,sizeof操作符返回这个指针占的空间,一般是4个字节;而对于一个数组,sizeof...************ 四、参考资料: Sizeof与Strlen的区别与联系(转) 1.sizeof操作符的结果类型是size_t,它在头文件中typedef为unsigned int类型。...7.sizeof后如果是类型必须加括弧,如果是变量名可以不加括弧。这是因为sizeof是个操作符不是个函数。...sizeof 操作符不能返回动态地被分派了的数组或外部的数组的尺寸 9.数组作为参数传给函数时传的是指针而不是数组,传递的是数组的首地址, 如: fun(char [8]) fun(char [

    85320

    sizeof与strlen的区别

    (str1)=4 sizeof(str2)=6; sizeof(str3)=8; sizeof(ss)=11 首先说明一点,char类型占一个字节,所以sizeof(char)是1,这点要理解 str1...)为8 str4和str2类似,'0' '1' ... '9'加上'\0'共11个字符,所以ss占的空间是8 总之,对于指针,sizeof操作符返回这个指针占的空间,一般是4个字节;而对于一个数组,sizeof...************ 四、参考资料: Sizeof与Strlen的区别与联系(转) 1.sizeof操作符的结果类型是size_t,它在头文件中typedef为unsigned int类型。...7.sizeof后如果是类型必须加括弧,如果是变量名可以不加括弧。这是因为sizeof是个操作符不是个函数。...sizeof 操作符不能返回动态地被分派了的数组或外部的数组的尺寸 9.数组作为参数传给函数时传的是指针而不是数组,传递的是数组的首地址, 如: fun(char [8]) fun(char []

    76730

    sizeof和strlen的对比

    前言 很多小白在学习中,经常将sizeof和strlen弄混了。本篇文章,小编讲解一下sizeof和strlen的区别。‍...♂️ sizeof size_t 其实专门是设计给sizeof的,表示sizeof的返回值类型 sizeof计算变量所占内存空间大小,单位是字节 如果操作数是类型的话,计算的是使⽤类型创建的变量所占内存空间的...sizeof 只关注占⽤内存空间的⼤⼩,不在乎内存中存放什么数据。...a); printf("%d\n", sizeof(int)); return 0; } 运行结果: 4 4 4 sizeof 在计算大小的时候,其实是根据类型推算的 sizeof的操作数如果是一个表达式...(arr1)); printf("%d\n", sizeof(arr1)); return 0; } sizeof和strlen对比 sizeof sizeof操作符 sizeof计算操作数所占内

    7910

    sizeof和strlen的区别

    简单介绍: . sizeof是一个操作符,是用来计算操作数的所占内存的大小的,单位是字节 strlen是用来计算字符串的长度的一个函数,需要引用头文件string.h 区别在于sizeof操作符...,而strlen是一个函数 . sizeof是不关心内存中所存放的数是多少的,只关心内存中的数所占几个字节 而strlen则需要关系内存中的数的多少,strlen函数用来计算字符串的长度,其计算的终点是...ps:如果字符串中没有‘\0’,则strlen函数就会继续往下寻找,直到找到‘\0’为止,这可能会造成越界访问,使得其得出的字符串长度值错无并且其值的大小是一个随机的值 小练习: 我在网上看见了一个关于sizeof...有利于我们去理解题目之间的区别,在这里我分享给大家: #include int main() { short a = 10; int b = 2; int c = sizeof...接下来我将做出解答: 解答: 最终的答案就是 2 和 10 我相信大家应该和我一样,一开始对这个结果是十分疑惑的,为何是2 和 10呢 因为a是short短整型,只有两个字节,而sizeof有一个特点,

    7400
    领券