本文上部分转自:http://www.cnblogs.com/zhengyuhong/p/3667869.html下半部分为自己所写。本文基于知识共享署名-非商业性使用 3.0 许可协议进行许可。欢迎转载、演绎,但是必须保留本文的署名林羽飞扬,若需咨询,请给我发信struct T{ unsig...
分类:
其他好文 时间:
2015-07-08 17:54:49
阅读次数:
110
转载地址为:http://www.jellythink.com/archives/468什么是union?翻译过来说,就是共用体,或者也叫联合体。说到了union,也就是共用体,就不得不说一下struct了,当我们有如下的struct的定义时:struct student{ char mar...
分类:
编程语言 时间:
2015-07-07 19:08:32
阅读次数:
290
程序设计初学者在学习时,总想问:“这个东东有什么用?”于是,在建设有关的教学资源时,也便总从这个角度,试图给出一些案例,这是一个将初学者作为教学目标人群的人该干的事。
然而,在准备这样一些案例时,诸如循环、数组、结构体之类的,可以编出一堆堆的能体现实际应用的案例,或出例题,或出实践题目,都好说。然而,对于有些在教科书中的“小知识点”,作为讲程序设计语言,有些老师都选择不讲的,能却总是不易编出。...
分类:
其他好文 时间:
2015-07-06 12:15:44
阅读次数:
91
1.联合体联合体(union)与结构体(struct)有一些相似之处。但两者有本质上的不同。在结构体中,各成员有各自的内存空间, 一个结构变量的总长度是各成员长度之和。而在联合体中,各成员共享一段内存空间, 一个联合变量的长度等于各成员中最长的长度。应该说明的是, 这里所谓的共享不是指把多个成员同时...
分类:
其他好文 时间:
2015-07-03 17:22:22
阅读次数:
226
int i=1;char *p=(char *)&i;if(*p==1) printf("1"); else printf("2"); 大小端存储问题,如果小端方式中(i占至少两个字节的长度)则i所分配的内存最小地址那个字节中就存着1,其他字节是0.大端的话则1在i的最高地址字节处存放,char是一...
分类:
其他好文 时间:
2015-07-02 17:14:22
阅读次数:
143
今天有个任务是将字节文件转换成整型,我是采用C#的BinaryReader.ReadInt32来直接读取的,运行结果也很顺利,整型结果是1577,但是好奇心驱使我用Ultraedit打开了源文件,但是我发现16进制存储的数组是这样的
这是什么鬼…,读取结果:0x29060000=0*16^0+0*16^1+0*16^2+0*16^3+6*16^4+0*16^5+9*16^6+2*16^7=6882...
分类:
其他好文 时间:
2015-06-17 18:21:11
阅读次数:
822
sizeof计算结构体sizeof作用于基本数据类型,在特定的平台和特定的编译中,结果是确定的,如果使用sizeof计算构造类型:结构体、联合体和类的大小时,情况稍微复杂一下。...
分类:
其他好文 时间:
2015-06-15 13:11:58
阅读次数:
181
大端:数据的低位保存在内存的高地址中,而数据的高位保存在内存的低地址中;
小端:数据的低位保存在内存的低地址中,而数据的搞完保存在内寸的高地址中;
大小端助记图:
测试本机是大端还是小端的代码:#include
int main()
{
union
{
short s;
char c[sizeof(short)];
}un;
un.s = 0x0102;
...
分类:
其他好文 时间:
2015-06-13 18:39:30
阅读次数:
102
概念大端格式:字数据的高字节存储在低地址中,而字数据的低字节则存放在高地址中。
小端格式:与大端存储格式相反,在小端存储格式中,低地址中存放的是字数据的低字节,高地址存放的是字数据的高字节。如5A6C中5A是高字节、6C是低字节,在大端序机器中,高字节位于低地址中,即在大端序中按照5A6C存储,在小端序中按照6C5A存储。为什么存在这种模式因为在计算机系统中,我们是以字节为单位的,每个地址单元都对...
分类:
其他好文 时间:
2015-06-10 19:35:58
阅读次数:
139