1、结构体和结构体指针能组建什么?
答:把结构体变量和指向结构体变量的指针结合起来,可以建立动态数据结构(如链表)。开辟动态内存空间用malloc函数,函数的返回值是所开辟的空间的起始地址。利用所开辟的空间作为链表的一个结点,这个结点是一个结构体变量,其成员由两部分组成:一部分是实际的有用数据,另一部分是一个指向结构体类型的数据的指针变量,利用它指向下一个结点。
2、简述结构体和共用体的区别。
答:结构体变量所占内存长度是各成员占的内存长度之和,每个成员分别占有其自己的内存单元。而共用体与结构体不同,其各成员不是分别占独立的存储单元,而是共享同一段存储空间,因此,共用体各成员的值不会同时存在,在某一瞬时,只有最后一次被赋值的成员是有意义的。
3、结构体类型与我们前面学过的基本类型有哪些区别?
答:结构体是一个可以包含不同数据类型的一个结构,它是一种可以自己定义的数据类型。特点:
1、结构体可以在一个结构体中声明不同的数据类型;
2、相同的结构的结构体变量可以相互赋值,而数组不行,因为数组是单一数据类型的数据集合,它本身不是数据类型,而结构体本身是数据类型,数组名称是常量指针,所以不可以作为左值进行运算,因此数组之间就不能通过数组名称相互赋值,即使数据类型和数组大小完全相同。
3、节省内存空间。
4、效率高。
4、什么是指针?什么是指针变量?它们有什么关系?
答︰(1)在计算机科学中,指针是编程语言中的一个对象,利用地址,它的值直接指向存在电脑存储器中另一个地方的值。由于通过地址能找到所需的变量单元,可以说,地址指向该变量单元。因此,将地址形象化的称为"指针"。
(2)存放另一个变量地址(即指针)的变量称为指针变量,指针变量是一种特殊的变量,它不同于一般的变量,一般变量存放的是数据本身,而指针变量就是地址变量(存放地址的变量),指针变量的值(即指针变量中存放的值)是地址(即指针)。
(3)指针就是地址,地址就是指针。地址就是内存单元的编号,指针变量就是存放内存地址的变量。
(4)指针和指针变量是两个不同的概念,但要注意的是,通常描述时会把指针变量简称为指针。
5、指针有哪些运算?以及指针编程的优点?
答︰
(1)指针有算术运算、关系运算和赋值;
(2)指针编程的优点:提高程序的编译效率和执行速度;可向调用函数处返回除正常的返回值之外的其他数据,从而实现两者间的双向通信;利用指针可以实现动态内存分配;能够直接操纵内存地址;更容易实现函数的编写和调用。