1 / 56
文档名称:

sizeof的使用方法.doc

格式:doc   页数:56页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

sizeof的使用方法.doc

上传人:fy5186fy 2016/6/9 文件大小:0 KB

下载得到文件列表

sizeof的使用方法.doc

相关文档

文档介绍

文档介绍:sizeof 的使用方法 sizeof 是C 语言的一种单目操作符,如C 语言的其他操作符++、-- 等。它并不是函数。 sizeof 操作符以字节形式给出了其操作数的存储大小。操作数可以是一个表达式或括在括号内的类型名。操作数的存储大小由操作数的类型决定。二、 sizeof 的使用方法 1 、用于数据类型 sizeof 使用形式: sizeof ( type ) 数据类型必须用括号括住。如 sizeof ( int )。 2 、用于变量 sizeof 使用形式: sizeof ( var_name )或 sizeof var_name 变量名可以不用括号括住。如 sizeof (var_name) , sizeof var_name 等都是正确形式。带括号的用法更普遍,大多数程序员采用这种形式。注意: sizeof 操作符不能用于函数类型, 不完全类型或位字段。不完全类型指具有未知存储大小的数据类型, 如未知存储大小的数组类型、未知内容的结构或联合类型、 void 类型等。如 sizeof(max) 若此时变量 max 定义为 int max(),sizeof(char_v) 若此时 char_v 定义为 char char_v [MAX] 且 MAX 未知, sizeof(void) 都不是正确形式。三、 sizeof 的结果 sizeof 操作符的结果类型是 size_t ,它在头文件中 typedef 为 unsigned int 类型。该类型保证能容纳实现所建立的最大对象的字节大小。 1 、若操作数具有类型 char 、 unsigned char 或 signed char , 其结果等于 1。 ANSI C 正式规定字符类型为 1 字节。 2、 int 、 unsigned int 、 short int 、 unsigned short 、 long int 、 unsigned long 、 float 、 double 、 long double 类型的 sizeof 在 ANSI C 中没有具体规定, 大小依赖于实现, 一般可能分别为 2、2、2、 2、4、4、4、8、 10。 3 、当操作数是指针时, sizeof 依赖于编译器。例如 Microsoft C/C++ 中, near 类指针字节数为 2, far 、 huge 类指针字节数为 4。一般 Unix 的指针字节数为 4。 4 、当操作数具有数组类型时,其结果是数组的总字节数。 5、联合类型操作数的 sizeof 是其最大字节成员的字节数。结构类型操作数的 sizeof 是这种类型对象的总字节数,包括任何垫补在内。让我们看如下结构: struct {char b; double x;} a; 在某些机器上 sizeof (a) =12 , 而一般 sizeof ( char )+ sizeof ( double ) =9。这是因为编译器在考虑对齐问题时, 在结构中插入空位以控制各成员对象的地址对齐。如 double 类型的结构成员 x 要放在被 4 整除的地址。 6 、如果操作数是函数中的数组形参或函数类型的形参, sizeo f 给出其指针的大小。四、 sizeof 与其他操作符的关系 sizeof 的优先级为 2 级,比/、%等3 级运算符优先级高。它可以与其他操作符一起组成表达式。如 i*sizeof ( int ); 其中 i为 int 类型变量。五、 sizeof 的主要用途 1、 sizeof 操作符的一个主要用途是与存储分配和 I/O 系统那样的例程进行通信。例如: void *malloc ( size_t size ), size_t fread(void * ptr,size_t size,size_t nmemb,FILE * stream) 。 2、 sizeof 的另一个的主要用途是计算数组中元素的个数。例如: void * memset ( void * s,int c,sizeof(s) )。六、建议由于操作数的字节数在实现时可能出现变化, 建议在涉及到操作数字节大小时用 sizeof 来代替常量计算。 sizeof , 一个其貌不扬的家伙, 引无数菜鸟竟折腰, 小虾我当初也没少犯迷糊, 秉着“辛苦我一个, 幸福千万人”的伟大思想, 我决定将其尽可能详细的总结一下。但当我总结的时候才发现, 这个问题既可以简单, 又可以复杂, 所以本文有的地方并不适合初学者, 甚至都没有必要大作文章。但如果你想“知其然, 更知其所以然”的话, 那么这篇文章对你或许有所帮助。菜鸟我对 C++ 的掌握尚未深入,其中不乏错误,欢迎各位指正啊 1. 定义: sizeof 是何方神圣 sizeof 乃 C/C++ 中的一个操作符( op

最近更新

北京林业大学选课方案+资料整合(同名8482) 11页

2024年时间频率计量标准器具项目资金需求报告.. 60页

2024年彩色喷涂纸项目资金申请报告代可行性研.. 65页

2024年市场管理服务项目资金需求报告代可行性.. 82页

山东省菏泽市东明县2024年八年级下学期语文期.. 10页

2024年湖南长沙县黄兴片区拆迁建设协调指挥部.. 59页

2024年甘肃兰州皋兰县交通运输检察辅助人员招.. 59页

2024年甘肃省陇南市事业单位招聘365人历年高频.. 60页

2024年福建省石狮市事业单位招聘81人历年高频.. 60页

2024年第三季度重庆彭水自治县事业单位招聘历.. 88页

2024年贵州思南县事业单位招聘引进高层次及紧.. 90页

2024年贵州省习水县事业单位招聘185人历年高频.. 88页

2024年贵州省科学技术情报研究所招聘4历年高频.. 59页

2024山东青岛检验检疫技术发展中心招聘16人历.. 117页

2024年湖北省鄂州市事业单位招聘202人历年高频.. 60页

2024年珠海市委办公室公开招聘合同制职员5名招.. 60页

2024年福建省泉州永春县村务专职工作者招聘4人.. 59页

2024年贵州中烟遵义卷烟厂招聘20人历年高频难.. 59页

2024年内蒙古兴安盟教育系统事业单位招聘教师.. 116页

2024年甘肃省甘南州事业单位招聘182人历年高频.. 59页

2024年福建福州市长乐区不动产登记和交易中心.. 89页

2023年广西河池市审计局招聘1人高频考点题库(.. 283页

2023年重庆市巴南区一品街道一品(社区工作人.. 282页

铸石粉生产工艺 29页

工商培训方案课件 45页

教练技术三阶段讲义全 62页

全等三角形证明过程步骤练习(共5页) 5页

卡尔·尼尔森《长笛协奏曲》赏析 38页

党委委员选拔条件 52页

雨后小故事1动态图下载 1页