C++基础数据结构之链表 基础(上)
前言:
链表,C++基础数据结构之一。区别于数组的顺序存储,链表为链式存储,这让链表比数组更加灵活,添加、删除元素更加高效(当然也更难),而且不需要想数组一样设定长度,所以更适合面对未知长度的数据。想要学习链表,需要先学习结构体和指针。
结构体:
简单来说,最基础的结构体就是基于基础数据类型自己创造出一种数据类型。这种数据类型可以理解为许多基础数据类型的变量(例如:int a;)或数组用502粘到一起。结构体也需要声明,关键字是struct。


声明结构体之后就可以声明一个Node(结构体名字)类型的变量或数组了。

下一步是赋值。对于一个结构体变量,需要分别给结构体内的变量(例如上图中的a和b)赋值,语法为:cin >> one_structure(结构体变量名).a(结构体内的变量名);

“.”可以理解为“的”的意思。
指针:
指针:一个让无数C++学习者止步的东西。在学习它之前,你起码要知道程序运行时涉及到的数据全都暂时贮存在内存中,这也就意味着所有已经声明的变量、数组中的数据在内存中都有其相应的位置,而指针就是专门用来存贮对应数据地址的数据结构。
指针通常存贮某个变量的地址,所以知道了某个变量的指针就是知道了那个变量的地址,知道了变量的地址就可以找到对应的数据进行修改或是读取。听起来是不是很想变量名和数组名?其实它们也可以理解为指针。(其实不是,变量名对应的是值,指针对应的只是地址)
指向不同种类变量的指针是不一样的:

当然,也可以指向结构体:

结语:
看到这两个字是不是有一种被骗的感觉?其实正菜在下一篇文章,这六百多字只是开胃。第一次写这种文章,如有错误往各路大佬指出。