首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

共用体,枚举跟位域

2013-10-15 
共用体,枚举和位域为什么书里讲解共用体,枚举和位域就那几页。只讲了怎么定义及调用。请问是不是基本上不用,

共用体,枚举和位域
为什么书里讲解共用体,枚举和位域就那几页。只讲了怎么定义及调用。请问是不是基本上不用,它们的作用书上讲的也很少?请它们的主要作用在哪里?呵呵!!理解差,详细下哈!!谢谢。。
共用体 枚举 位域
[解决办法]
共用体(联合)就是将不同的数据类型让他们使用同一块内存区域,一个用途是节约内存,另一个用途是可以非常奇妙的做一个类型转换。比如:

union _Chinesecode
{
    char code[ 2 ];
    word wcode;
};

_Chinesecode you;
strcpy_without_0 ( you.code, "你" );
printf you.wcode;


枚举就是列出一些常量。效果就跟#define似的。

位域纯粹是为了节约内存,就是在同一个32位数中,再分成不同的区域,如果不是特别需求,已经不推荐使用了。因为访问速度比较慢。CPU会一下读取整个32位/64位数据。
[解决办法]
在底层的编程中都常用, c 语言中最常用的操作符可能是 =,书上讲的多吗?
[解决办法]
底层开发里常用来定义变量,union和共同体在VC++里常见到
[解决办法]
计算机组成原理→DOS命令→汇编语言→C语言(不包括C++)、代码书写规范→数据结构、编译原理、操作系统→计算机网络、数据库原理、正则表达式→其它语言(包括C++)、架构……

对学习编程者的忠告:
眼过千遍不如手过一遍!
书看千行不如手敲一行!
手敲千行不如单步一行!
单步源代码千行不如单步对应汇编一行!

VC调试时按Alt+8、Alt+7、Alt+6和Alt+5,打开汇编窗口、堆栈窗口、内存窗口和寄存器窗口看每句C对应的汇编、单步执行并观察相应堆栈、内存和寄存器变化,这样过一遍不就啥都明白了吗。
对VC来说,所谓‘调试时’就是编译连接通过以后,按F10或F11键单步执行一步以后的时候,或者在某行按F9设了断点后按F5执行停在该断点处的时候。
(Turbo C或Borland C用Turbo Debugger调试,Linux或Unix下用GDB调试时,看每句C对应的汇编并单步执行观察相应内存和寄存器变化。)

[解决办法]
接触的多的时候,这些知识会慢慢用上。

热点排行