2020.4.21第六次作业

一、学习笔记(学习范围:4.2.2、4.2.3、4.2.4、4.2.5、4.2.6)

二、相关代码

三、遗留问题

1.设有如下定义的链表,则值为7的表达式是( )。

struct st{

   int n;
   struct st *next;} a[3] = {5, &a[1], 7, &a[2], 9, NULL}, *p = &a; 

A、p->n

B、(p->n)++

C、++p->n

D、p->next->n

解析 :a[3]可看为一个链表,每两个为一个节点(5和&a[1]),p是取a的首地址。A中,p->n是结构体中n的值为5;B中,(p->n)++是先取值再将值加一;C中,->的优先级高于++,所以也是先取值再加一;D中,先指向a[0]的下一个也就是a[1],再指向数据部分值为7。

2.链表和数组对数据进行存储与操作的区别?

解析:①不需要事先定义存储空间大小,可以实时动态分配,内存使用效率高

           ②可以方便地插入新元素,使数据保持排序状态,操作效率高

猜你喜欢

转载自www.cnblogs.com/qipaopao001120/p/12784223.html