CSDN习题经验-------C/C++版

联合也是一种新的数据类型, 它是一种特殊形式的变量。

联合表示几个变量公用一个内存位置, 在不同的时间保存不同的数据类型

在联合变量lgc中, 整型量i和字符mm公用同一内存位置。

当一个联合被说明时, 编译程序自动地产生一个变量, 其长度为联合中最大的变量长度

联合访问其成员的方法与结构相同。同样联合变量也可以定义成数组或指针,但定义为指针时, 也要用"->"符号, 此时联合访问成员可表示成:另外, 联合既可以出现在结构内, 它的成员也可以是结构。

函数模版的实例化是由编译器实现的。

一个类的定义中,如果有个函数的模版,那么这个类是模版类。类模板的成员函数都是函数模板,类模板实例化后,成员函数也随之实例化

关于链表的知识

链表(Linked list)是一种常见的基础数据结构,是一种线性表,但是并不会按线性的顺序存储数据,而是在每一个节点里存到下一个节点的指针(Pointer)。由于不必须按顺序存储,链表在插入的时候可以达到O(1)的复杂度,比另一种线性表:顺序表快得多,但是查找一个节点或者访问特定编号的节点则需要O(n)的时间,而顺序表相应的时间复杂度分别是O(logn)和O(1)。使用链表结构可以克服数组链表需要预先知道数据大小的缺点链表结构可以充分利用计算机内存空间,实现灵活的内存动态管理但是链表失去了数组随机读取的优点,同时链表由于增加了结点的指针域,空间开销比较大。在计算机科学中,链表作为一种基础的数据结构可以用来生成其它类型的数据结构。链表通常由一连串节点组成,每个节点包含任意的实例数据(data fields)和一或两个用来指向明上一个/或下一个节点的位置的链接("links")。链表最明显的好处就是,常规数组排列关联项目的方式可能不同于这些数据项目在记忆体或磁盘上顺序,数据的存取往往要在不同的排列顺序中转换。而链表是一种自我指示数据类型,因为它包含指向另一个相同类型的数据的指针(链接)。链表允许插入和移除表上任意位置上的节点,[1]但是不允许随机存取。链表有很多种不同的类型:单向链表,双向链表以及循环链表。


 

设有定义 int  a[10] , *p=a下列对数组元素a[1]的引用中,错误的是*(++a)

设有定义 int  a[10] , *p=a下列对数组元素a[1]的引用中,错误的是*(++a)

 

于数组来说.数组的名字用反汇编的语言来说,数组的名字只是一个标志,对数组的名字操作肯定是错误的.

a是数组第一个元素的地址,是静态的,不能改变的

a++执行完了后会改变a的值。。必然是不行的。。

指针变量可以改变.对于 a来说,它是一个 int const *p


posted @ 2010-06-27 17:35  ActionBi  阅读(225)  评论(0编辑  收藏  举报