C语言 sizeof sizeof一般用于字符串的长度,是处理字符串的重要工具。 同时,sizeof在数据结构这门课中是创建结点必要的命令。 例:*head=(node*)malloc(sizeof(node)); [注]node为结构体 sizeof(node)表示node类型的长度,malloc(sizeof(node))表示在内存中申请一个node长度的空间(即一个空结点)。 sizeof 有三种语法形式 sizeof( type_name ); // sizeof( 类型 ); sizeof ( object ); // sizeof( 对象 ); sizeof object; // sizeof 对象; sizeof是运算符,可用于任何变量名、类型名或常量值,当用于变量名(不是数组名)或常量时,它不需要用圆括号。 它在编译时起作用,而不是运行时。 这是初学者问得最多的一个问题,所以这里有必要多费点笔墨。让我们先看一个结构体: 问sizeof(s1)等于多少,聪明的你开始思考了,char占1个字节,int占4个字节,那么加起来就应该是5。是这样吗你在你机器上试过了吗也许你是对的,但很可能你是错的!VC6中按默认设置得到的结果为8。 Why为什么受伤的总是我 请不要沮丧,我们来好好琢磨一下sizeof的定义——sizeof的结果等于对象或者类型所占的内存字节数,好吧,那就让我们来看看S1的内存分配情况: S1 s1 = { ‘a’, 0xFFFFFFFF }; 定义上面的变量后,加上断点,运行程序,观察s1所在的内存,你发现了什么 以我的VC6.0为例,s1的地址为0x0012FF78,其数据内容如下: 0012FF78: 61 CC CC CC FF FF FF FF 发现了什么怎么中间夹杂了3个字节的CC看看MSDN上的说明: When applied to a structure type or variable, siz
2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/57266.html