`

C++复杂类型

    博客分类:
  • C++
 
阅读更多

基础:

1.赋值:

结构体的赋值,是值传递不是引用传递。

 

 

结构体(struct):

1.结构体的典型定义:

 

 

typedef struct tagSTUDENT{
	int id;
	char name[20];
	bool sex;
}STUDENT,*PSTUDENT; 

 

struct tagSTUDENT1{
	int id;
	char name[20];
	bool sex;
}initStudent = {123,"222",true}; 
 

2.typedef:利用此关键字可以重命名一个类型(包括复合类型),降低引用和定义之间的耦合度。

 

3.结构体内存计算规则:

(1)复杂类型的内存分配,前N个变量所占内存必须被第N+1个变量整除。如果第N+1个不能整除,就把内存补到第N个上(2)所有的变量占的内存总和应该可以被最大的变量整除,把内存补到最后一个变量后。

在定义复杂类型的时候,需要考虑变量的先后顺序,来确保浪费的内存最少。

 

4.结构体里面的变量个数:结构体的地址,与它的第一个子的地址是一样的。所以,如果按照地址来划分对象个数,结构体的对象个数为其子的个数。联合体对象只有一个,因为它的数据保存在同一块内存当中。

 

 

联合体(union):联合体中只有一个子起作用,所以必须注意最后一个被赋值的是谁。

1.联合体的定义:

 

union tagAny{
	char c;
	short n;
	int i;
	float f;
	double d;
}
 

2.联合体内存计算:联合体的内存大于或等于其中最大的一个子的长度(并且保障,长度为所有子的整数倍)。

 

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    如何理解C和C++复杂类型声明

    曾经碰到过让你迷惑不解、类似于 int * (* (*fp1) (int) ) [10];这样的 变量声明吗? 本文将由易到难,一步一步教会你如何理解这种复杂的 C/C++声明。 pdf 高清晰

    如何理解c和c++的复杂类型声明.pdf

    如何理解c和c++的复杂类型声明.pdf

    如何理解c和c++的复杂类型声明

    c和c++的复杂类型声明,比较好的介绍了c和c++的复杂类型的定义,声明

    C和C++的复杂类型及指针声明详解.doc

    C和C++的复杂类型及指针声明详解.doc

    c# 调用c++对于字符串与复杂结构体的处理

    c# 调用c++对于字符串与复杂结构体的处理

    如何理解c和c++的复杂类型声明[定义].pdf

    如何理解c和c++的复杂类型声明[定义].pdf

    如何理解c和c ++的复杂类型声明

    如何理解c和c ++的复杂类型声明

    c++精粹c++精粹c++精粹c++精粹

    这本书不仅仅是一本简明的参考指南或是对一个复杂课题的简单小结,Pohl博士在经过缜密思考之后,加入他对C++语言的使用及编程风格的独特建议,这些建议包含了对这门语言所做的更为深入的探索,尤其在专业实践方面。...

    Cocos2d-x C++访问复杂table类型

    C++访问复杂table类型,并将table中数据存放到CCDictionary中。lua文件为 luaTable={age = 3,name="Reventon",sex="男",skill={"Lua","c++","oc"},type={type1="master",type2="monster"},state={"happy","angry"}}

    C语言复杂数据类型学习

    C语言复杂数据类型学习的好资源,帮助你学好C++!

    linux下C++动态链接C++库示例

    文中是linux下 C++动态库 实现接口提供类导出的一个例子 注意其中使用函数返回基类指针的用法,因为Linux的动态链接库不能像MFC中那样直接...相反,它仍然是一个完全的C++函数,可以使用任何C++特性和各种类型的参数。

    c++各种练习题附代码

    各种c++习题,包括排序,递归,嵌套,类,类的继承等等

    如何理解c和c_++的复杂类型声明.doc

    如何理解c和c_++的复杂类型声明 曾经碰到过让你迷惑不解、类似于int * (* (*fp1) (int) ) [10];这样的变量声明吗?本文将由易到难,一步一步教会你如何理解这种复杂的C/C++声明。

    标准C++编程宝典 源码

    本书针对那些较为高深难懂的主题也作了深入浅出的介绍,比如模板、名字空间以及运行时类型信息等。这些功能对开发大型复杂系统的程序设计人员非常重要。因此,无论是新手还是有经验的程序员,都可以从本书中找到丰富...

    传递复杂数据类型的AIDL服务的客户端

    传递复杂数据的AIDL服务 客户端的示例程序,与ch08_complextypeaidl配合使用

    深入解析C++中的引用类型

    在c++中狭义的对象指的是用类,结构,联合等复杂数据类型来声明的变量,如 MyClass myclass,CDialog mydlg,等等。广义的对象还包括用int,char,float等简单类型声明的变量,如int a,char b等等。我在下文提到...

    C++指针精髓

    要了解指针,多多少少会出现一些比较复杂的类型,所以我先介绍一下如何完全理解一个复杂类型,通过对复杂类型的介绍,突破C++中指针的知识。

    对C++ Local的经典分析

    char是一种整数类型,这句话的含义是,char所能表示的字符在C/C++中都是整数类型。好,接下来,很多文章就会举出一个典型例子,比如,’a' 的数值就是0×61。这种说法对吗?如果你细心的读过K&R和BS对于C和C++描述的...

Global site tag (gtag.js) - Google Analytics