一、链表简介
数组/列表:作为一个整体出现,只能在头、尾进行更新操作
链表:指针+动态分配内存函数malloc实现,每个元素都有一个后向指针,指明下一个元素的位置,尾元素有个空指针。
1.关于指针:
int a=10, *p; // * 间接运算符,作用是取得指针 p 指向的内存地址保存的变量值
p = &a; // &为取地址符,这样 p 就获得了 a 的内存地址
*p = 100; // a == 100
2.关于动态分配内存函数 malloc <stdlib.h>:返回一个 void * 未确定类型的指针,它可以强制转换为任何其他类型的指针。
int *p;
p = (int *)malloc(sizeof(int)); //分配一个整形地址空间,并将指针 p 指向它
注意:指针指向的是内存空间的首地址(第一个字节的地址),而指针类型决定了作为一个整体的内存长度;