欢迎光临散文网 会员登陆 & 注册

C++基础数据结构之链表 基础(上)

2023-08-09 21:43 作者:好吃的金色橘子  | 我要投稿

前言:

链表,C++基础数据结构之一。区别于数组的顺序存储,链表为链式存储,这让链表比数组更加灵活,添加、删除元素更加高效(当然也更难),而且不需要想数组一样设定长度,所以更适合面对未知长度的数据。想要学习链表,需要先学习结构体和指针。

结构体:

       简单来说,最基础的结构体就是基于基础数据类型自己创造出一种数据类型。这种数据类型可以理解为许多基础数据类型的变量(例如:int a;)或数组用502粘到一起。结构体也需要声明,关键字是struct

 



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


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



“.”可以理解为“的”的意思。


指针:

    指针:一个让无数C++学习者止步的东西。在学习它之前,你起码要知道程序运行时涉及到的数据全都暂时贮存在内存中,这也就意味着所有已经声明的变量、数组中的数据在内存中都有其相应的位置,而指针就是专门用来存贮对应数据地址的数据结构。

   指针通常存贮某个变量的地址,所以知道了某个变量的指针就是知道了那个变量的地址,知道了变量的地址就可以找到对应的数据进行修改或是读取。听起来是不是很想变量名和数组名?其实它们也可以理解为指针。(其实不是,变量名对应的是值,指针对应的只是地址)

    指向不同种类变量的指针是不一样的:

可以将“*”理解为指针的标志

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


结语:

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


C++基础数据结构之链表 基础(上)的评论 (共 条)

分享到微博请遵守国家法律