关于不同数据类型存储方式的的理解
来源:互联网 发布:极简装修 知乎 编辑:程序博客网 时间:2024/04/30 08:55
计算机的内存中,所有使用的数据都是以二进制的形式线性的存储在内存中。各种编程语言中的定义了很多种不同的类型,根本上讲这些不同类型的变量的存储都是以二进制线性存储的,之所以要定义出这么多类型,只是方便用户(程序员)采用不同的方式引用或者处理这些不同类型的变量。不同的数据类型表现形式不同,但存储的的本质是一样的。看看下面的代码 就知道我在说什么了。
#include<stdio.h>#include <string.h>typedef struct _pack_data{int a;char b[5];union pq_pack_data{long index;long age;}pa_data;}pack_data_t;int main(int argc,char **argv){char buf[100];memset(buf,0,sizeof(buf));pack_data_t pack_data ;pack_data.a = 1;memcpy(pack_data.b,"123",3);pack_data.pa_data.age = 13;memcpy(buf,&pack_data,sizeof(pack_data));pack_data_t pack_data2;/*把变量pack_data的内容存到buf中,体现了数据的存储本质是一样的,都是存在内存中,跟数据类型无关。在这里buf中有了数据 但是不能用buf[num],**这种方式来访问其中的内容。虽然pack_data的内容是复制到了buf中,但数据的存储方式是以变量pack_data的方式存储的。要打印buf中的数据,**必须采用pack_data变量的格式打印。即有下面的代码:*/memcpy(&pack_data2,buf,sizeof(pack_data));printf("pack_data2.a = %d\n", pack_data2.a);printf("pack_data2.b = %s \n", pack_data2.b);printf("pack_data2.pa_data.age = %d\n", pack_data2.pa_data.age);return 0;}
- 关于不同数据类型存储方式的的理解
- 不同数据类型的存储形式
- 关于uint8_t数据类型的理解
- 关于不同数据类型之间赋值的问题
- 关于listView不同数据类型的加载
- 深入理解计算机系统-之-数值存储(六)--以不同的方式窥视内存
- Python+不同的数据存储方式比较
- C++与matlab存储方式的不同
- 对不同二次拨号方式的理解
- Java字符串不同创建方式的理解
- 关于希尔算法的理解以及两种不同的移动方式
- Spring-IoC的注入方式及注入不同的数据类型
- 关于成功,不同的人会有不同的理解
- 关于适应不同屏幕的理解
- 关于View Tag值的不同理解
- 关于js中数据类型的自我理解
- 关于java中数据类型知识的理解
- 理解引用类型变量的存储方式
- WebView侧滑出现白屏、页面加载闪白屏处理
- WPF 自定义窗口
- 2013/10/10总结:基于GP2Y1010AUOF传感器的设计
- POJ 2826 An Easy Problem?!
- 第一次笔试
- 关于不同数据类型存储方式的的理解
- ARM NEON 指令
- android api 完整翻译之Contacts Provider (学习安卓必知的api,中英文对照)
- ClassNotFoundException和NoClassDefError之间的区别
- iOS 7 Development Tips, Tricks & Hacks
- Visual Studio 2010和UML黄金法则(奋斗的小鸟)_PDF 电子书
- VMware虚拟机出现Reason: Failed to lock the file
- [RBP] RaspberryPi系列之一:Linux下网络配置
- wsacreateevent 事件使用