77范文网 - 专业文章范例文档资料分享平台

C专家编程看书笔记(5)

来源:网络收集 时间:2021-01-20 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

C专家编程学习中的笔记

}c;
&char = 134518468,&double = 134518472,&short = 134518480,&char = 134518482,&short = 134518484,&char = 134518486.sizeof(c) = 20.注意如果按以前我的认为,这里将会是16。
struct node_tag10{
char test0;
double test1;
short test2;
char test3;
short test4;
char test5;
char test6;
}c;
&char = 134518480,&double = 134518484,&short = 134518492,&char = 134518494,&short = 134518496,&char = 134518498,&char = 134518499.sizeof(c) = 20.注意如果按以前我的认为,这里将会是16。
struct node_tag10{
char test0;
short test1;
double test2;
short test3;
char test4;
short test5;
char test6;
char test7;
}c;
&char = 134518508,&short = 134518510,&double = 134518512,&short = 134518520,&char = 134518522,&short = 134518524,&char = 134518526,&char = 134518527.sizeof(c) = 20.
struct node_tag10{
short test0;
double test1;
short test2;
char test3;
short test4;
char test5;
char test6;
}c;
&short = 134518480,&double = 134518484,&short = 134518492,&char = 134518494,&short = 134518496,&char = 134518498,&char = 13451899.sizeof(c) = 20.
由上面这些可得,第一个分配地址总是能被4整除的,32位机,便于寻址。后面出现的类型(如int,double等)只要所占字节数大于或等于4个字节,也将会从能被4整除的地址开始,且与前面地址是连续的。下面这个能很好说明:
struct node_tag10{
char test0;
double test1;
short test2;
char test3;
short test4;
char test5;
}c;
&char = 134518468,&double = 134518472,&short = 134518480,&char = 134518482,&short = 134518484,&char = 134518486.sizeof(c) = 20.注意如果按以前我的认为,这里将会是16。
最后还是做一下Visual C++6.0上的测试:
sizechar = 1;sizeshort = 2;sizeint = 4;sizelong = 4;sizefloat = 4;sizedouble = 8;sizelongdouble = 8.
struct node_tag10{
short test0;
double test1;
short test2;
char test3;
short test4;
char test5;
char test6;
}c;
&short = 4339136,&double = 4339144,&short = 4339152,&char = 4339154,&short = 4339156,&char = 4339158,&char = 4339159.sizeof(c) = 24.与虚拟机上不同,无论第一个类型变成char,short,int,double都会占8个字节,除非一个也不要,就不会占8个字节。
将double改成int,前面第一个类型(char,short)会只占4个字节了。若改为short,前面的char又只占两上字节了,这,总之一句话,程序里面太多的神奇。
**********************************************************************************************************************************************************************
下午又得
出一点结论:
编译器存在字对齐问题,将以结构体中占字节最多的类型来对齐。(不同的平台,会有区别,就如是我的虚拟机(有double存在也会像样int以4个字节做为分配单无)与VC++6.0(有double存在将会以8个字节做为分配单元)结果不一样,这里我们以VC++6.0为准,在不同的平

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库C专家编程看书笔记(5)在线全文阅读。

C专家编程看书笔记(5).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/jiaoyu/1182054.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: