[数据结构c语言版的课程设计]一、问题描述: 利用哈夫曼编码进行信息通信可以大大提高信道利用率,缩短信息传输时间,降低传输成本。但是,这要求在发送端通过一个编码系统对待传数据预先编码,在接收端将传来的...+阅读
C语言里面结构体与共同体分别是啥意思?具体指的是什么
一种构造数据类型,具体指:int、char、float。
结构体是一种构造数据类型(也称复杂数据类型),由若干不同类型的变量(数据)组成。每个变量都是结构体的成员(member),每个成员可以是基本数据类型,也可以是构造类型。相应的,int、char、float 这些数据类型被称为基本数据类型。
结构体变量:结构体也是一种数据类型,可以用来说明变量。例如:
[cpp] view plain copy
struct stu stu1, stu2;
你也可以在定义结构体的同时定义结构体变量:
[cpp] view plain copy
struct stu{
char *name; //姓名
int num; //学号
char sex; //性别
float score; //成绩
} stu1, stu2;
将变量放在结构体定义的最后即可。
也可以用宏定义使一个符号常量来表示一个结构类型,例如:
[cpp] view plain copy
#define STU struct stu
STU{
char *name; //姓名
int num; //学号
char sex; //性别
float score; //成绩
};
STU stu1, stu2;
C语言里面结构体与共同体是啥意思具体指的是什么
我怕我解释得不够清楚,我还是在网上找个清楚点的给你吧。
联合体(union)和结构体(struct)的区别
1. 联合说明和联合变量定义
联合也是一种新的数据类型, 它是一种特殊形式的变量。
联合说明和联合变量定义与结构十分相似。其形式为:
union 联合名{
数据类型 成员名;
数据类型 成员名;
...
} 联合变量名;
联合表示几个变量公用一个内存位置, 在不同的时间保存不同的数据类型 和不同长度的变量。
下例表示说明一个联合a_bc:
union a_bc{
int i;
char mm;
};
再用已说明的联合可定义联合变量。
例如用上面说明的联合定义一个名为lgc的联合变量, 可写成:
union a_bc lgc;
在联合变量lgc中, 整型量i和字符mm公用同一内存位置。
当一个联合被说明时, 编译程序自动地产生一个变量, 其长度为联合中最大的变量长度。
联合访问其成员的方法与结构相同。同样联合变量也可以定义成数组或指针,但定义为指针时, 也要用"->;"符号, 此时联合访问成员可表示成:
联合名->成员名
另外, 联合既可以出现在结构内, 它的成员也可以是结构。
例如:
struct{
int age;
char *addr;
union{
int i;
char *ch;
}x;
}y[10];
若要访问结构变量y[1]中联合x的成员i, 可以写成:
y[1].x.i;
若要访问结构变量y[2]中联合x的字符串指针ch的第一个字符可写成:
*y[2].x.ch;
若写成"y[2].x.*ch;"是错误的。
2. 结构和联合的区别
结构和联合有下列区别:
1) 结构和联合都是由多个不同的数据类型成员组成, 但在任何同一时刻, 联合转只存放了一个被选中的成员, 而结构的所有成员都存在。
2) 对于联合的不同成员赋值, 将会对其它成员重写, 原来成员的值就不存在了, 而对于结构的不同成员赋值是互不影响的。
下面举一个例了来加对深联合的理解。
main()
{
union{ /*定义一个联合*/
int i;
struct{ /*在联合中定义一个结构*/
char first;
char second;
}half;
}number;
number.i=0x4241; /*联合成员赋值*/
printf("%c%c\n", number.half.first, mumber.half.second);
number.half.first='a'; /*联合中结构成员赋值*/
number.half.second='b';
printf("%x\n", number.i);
getch();
}
输出结果为:
AB
6261
从上例结果可以看出: 当给i赋值后, 其低八位也就是first和second的值;当给first和second赋字符后, 这两个字符的ASCII码也将作为i 的低八位和高八位。
C语言共同体问题
结果应该是输出一个随机数!有这样几个概念关于共用体,也就是你说的共同体:
1、共用体是几种不同的变量存放在同一内存当中,即在内存中占同一位置
2、同一内存段可以用来存放几种不同类型的成员,但是在每一瞬只能放其中的一种,而不是同时存放几种类型。也就是每一瞬只有一个成员起作用!
3、共用体变量中起作用的成员是最后一次存放的成员。根据以上原则来看你这道题:#include "stdio.h"union un{int i;char c[2];} //共用体变量定义完成后应当以分号结束,此处应该加一个分号main(){union un x; //定义共用体变量xx.c[0]=10; //字符数组第一个字符位置存放整型10,字符变量和整型变量可以相互转换x.c[1]=1; //字符数组第二个字符位置存放整型1//至此,共用体变量x.c成员被赋值,其中x.c[0]==10,x.c[1]==1,而x.i不起作用printf("\n%d",x.i); //因为x.i没有被赋值,所以它的值由内存自动分配,所以会产生随机数}...
延伸阅读:
跪求数据结构课程设计C语言版代码感激不尽在C语言中,结构体(struct)指的是一种数据结构,是C语言中聚合数据类型(aggregate data type)的一类。结构体可以被声明为变量、指针或数组等,用以实现较复杂的数据结构。结构体同时...
共同体是什么意思共同体,顾名思义,就是人们在共同条件下结成的集体。在这个共同体里,我们会发生许许多多的事情,有些令人快乐,有些令人感动。每一件事情,可能就像雨滴一样,有一些,或许落在湿漉漉的地...
海角七号里面那七封信分别是什么意思第一封 友子,太阳已经完全没入了海面 我真的已经完全看不见台湾岛了 你还站在那里等我吗? 友子, 请原谅我这个懦弱的男人 从来不敢承认我们两人的相爱 我甚至已经忘记 我是如何...
没学过C语言可以学C语言数据结构与算法吗你好 一点小建议希望能对你有帮助 (1)学算法 学习算法和具体的语言还是有一定的联系,比如说你的算法最后要用c语言来实现,因为c是面向过程的,所以这和用面向对象的语言如c++来实...
数据结构与c语言是什么关系数据结构的主要作用是帮助你提升自己的编程思维!使你编写程序的时候有一个好的思维和框架!使你写的代码和程序有一个好的框架!数据结构研究的是数据的逻辑结构、存储结构(物理结...
C语言数据结构与算法分析C语言描述Position不是一个类型,起码C语言中,我写那么多年代码没见过这个类型 。你该把整段代码贴上来。我猜你看的那段代码是伪代码,Position是自定义类型。若Position是类名,那么Positi...
休戚与共一词的意思是什么呢休戚与共一词的意思是什么呢:在使用“休戚与共”时,不少人往往会 忽略该词中的“休”或“戚”,导致词语误用。 例如一篇消息的标题这样写道: 《中国联通抗震救灾系列报道之八方...
程序化交易里面主流的语言是C请问程序化交易系统是如何实现的?用的是什么编程语言?怎么测试:语言只是工具,各有优势,用自己顺手的就行了,但对于通常的金融交易来讲,大部分语言效率都足够了,不明白为什么一直有这...
外贸术语:FOB CIF C F CFR分别都是什么意思在外贸出口中LC CFR FOB是什么意思:简单的说: FOB, FREE ON BOARD离岸价,货物越过船舷以前的所有费用和风险发货方承担. CIF,COST INSURANCE FREIGHT到岸价加保险,货物到目的港...