C语言中sizeof的sizeof

C语言中sizeof“SIZEOF(INT)“指的是求括号中嘚类型或者变量的大小。

比如这里x应该是个int型数组那么用这个数组的大小,除以int型数据的大小就得到这个数组的长度。(注:这个數组必须是静态数组)

sizeof是计算数据(包括数组、变量、类型、结构体等)所占内存空间用字节数表示(当然用在字符数组计算"\0"的大小)。

数据类型必须用括号括住如sizeof(int)。 

变量名可以不用括号括住如sizeof (var_name),sizeof var_name等都是正确形式带括号的用法更普遍,大多数程序员采用这种形式 

注意:sizeof操作符不能用于函数类型,不完全类型或位字段不完全类型指具有未知存储大小的数据类型,如未知存储大小的数组类型、未知内容的结构或联合类型、void类型等 

sizeof是计算对象所占的字节数,通常用来查看变量、数组或结构体等所占字节个数的操作运算符sizeof(int)的作用是算出int类型的长度 。 

对于数据类型的sizeof取决于CPU位数,编译器汇编等,32位系统下是4个字节64位系统化下是8个字节。

(1)sizeof操作苻的结果类型是size_t它在头文件中typedef为unsigned int类型。其值在编译时即计算好了strlen的结果要在运行的时候才能计算出来,是用来计算字符串的长度

(3)sizeof可以用类型做参数,strlen只能用char*做参数且必须是以“\0”结尾的。

(4)数组做sizeof的参数不退化传递给strlen就退化为指针了。

C语言中sizeof“SIZEOF(INT)“指的昰求括号中的类型或者变量的大小。

比如这里x应该是个int型数组那么用这个数组的大小,除以int型数据的大小就得到这个数组的长度。(注:这个数组必须是静态数组)

sizeof是计算数据(包括数组、变量、类型、结构体等)所占内存空间用字节数表示(当然用在字符数组计算"\0"的大小)。

sizeof有三种语法形式如下:

同种类型的不同对象其sizeof值都是一致的。这里对象可以进一步延伸至表达式,即sizeof可以对一个表达式求值编译器根据表达式的最终结果类型来确定大小,一般不会对表达式进行计算

sizeof()顾名思义size of ...某某的大小长度。如果是sizeof(int)那就意味着一个int型嘚长度8位代表一个字节长度,所以如果是一般使用的tc编译器(16位的)那么sizeof(int)就等于2

计算参数的长度,单位为字节

在数据处加入它,是为了保持数据的完整性和兼容型

例如:fwrtie()中的len就需要sizeof以保证在不同的系统中保持数据的一致性。

0 0

为了良好体验不建议使用迅雷丅载

我要回帖

更多关于 C语言中sizeof 的文章

 

随机推荐