天天看点

struct 结构体解析(原)

(一)基本概念

    结构体是一个或是多个变量的集合,这些变量可能为不同的类型,为了处理的方便而将这些变量组合在一个名字之下。我们将关键字struct引入了结构声明中。结构声明包含在花括号内的一系列声明组成。例如:

(二)使用方法

1. 初始化方法

    (1) 结构体变量的初始化方式分别给结构体的成员变量以初始值.

具体的形式如下:

对于结构体内还有结构体的形式,可以用以下的方式来解决:

2. 结构体与指针

    结构与指针其实密不可分,在函数的返回和调用中,我们不能用复制整个结构体的方式,因为这样的效率实在是太低了。谁都不希望将一个大象抗在身上,然后到处跑!

struct 结构体解析(原)

    这个时候,指针出现了。就像救世主出现在人间,赶走了大象,留下了羽毛。

以下是实现形式:

3. 结构体与数组,链表

   如果说当个结构体个体只是一块板砖的话,那么与数组结合,就是一堆板砖啊!

struct 结构体解析(原)

我们常使用数组来储存一些东西,这些东东看重的数组的线性结构。当然,如果结构体内部有结构体指针,那么我们可以来组链表。线性结构的关键在于查找时的时间损耗,O(1)是许多人追求的梦想。而链表的容量巨大,只要你内存够大,它就能让你欲罢不能

struct 结构体解析(原)

!鱼和熊掌不能兼得,O(n)时间的损耗是你要权衡的。

以下是数组

struct 结构体解析(原)

实现形式:

以下是链表

struct 结构体解析(原)

的形式:

4. 结构体与typedef

    typedef用来建立新的数据类型名。以下用代码来解释:

    其实,typedef没有创建新的类型。只是增加了一个新的名词而已。这样做的好处有倆

struct 结构体解析(原)

:首先呢,程序参数化,提高移植性。其次,就是好改啦,改一个地方就可以影响所有的地方了。

参考文献

1.《C++ primer》和《C语言程序设计》

2. 参阅了网上许多小道的内容,这个记不得了。。抱歉抱歉!!

struct 结构体解析(原)

继续阅读