结构体指针怎么用-简单的链表
2016-11-23 10:04
134 查看
目的:
用结构体指针做一个简单的链表
#include <iostream>
#include <string>
using namespace std;
struct student
{
int ID;
string name;
student *next; //增加一个结构体指针,做一个链表结构
};
int main()
{
student stuA, stuB, stuC;//定义三个对象
student *head, *p;//定义结构体指针,head是链表头-它的初始化见下面,p是临时指针-它的作用和head不同
stuA.ID = 1001;
stuA.name = "Julia";
stuB.ID = 1002;
stuB.name = "Lucy";
stuC.ID = 1003;
stuC.name = "Sophia"; //建立结构体具体对象并赋值
head = &stuA; //head的初始化
stuA.next = &stuB;
stuB.next = &stuC;
stuC.next = nullptr; //链表的头为head,链表的尾是NULL,中间三段利用指针依次相连
p = head;//p为临时指针,用来在三个对象上依次移动。这句话也是p的初始化
while (p != nullptr)
{
cout << p->ID<< " " << p->name << endl;//打印结果
p = p->next; //移动p
}
system("pause");
return EXIT_SUCCESS;
}编程收获:
链表需要在结构体定义时,定义一个指针*next;
这个*next与main()里的*head, *p不太相同。 链表里的*next是每个结点里的指针
*head是第一个结点的指针,*p是在几个不同对象上移动用的临时指针
用图表示即为:
图中暗红色的是指针,p作为临时指针可以在这四个指针位置移动
红色的为结构体对象,指针总是指向一个对象。当p移动的时候,它指向的对象变化
在这个程序里,head和每个对象的next是固定不动的,只有p指针可以移动
运行结果:
用结构体指针做一个简单的链表
#include <iostream>
#include <string>
using namespace std;
struct student
{
int ID;
string name;
student *next; //增加一个结构体指针,做一个链表结构
};
int main()
{
student stuA, stuB, stuC;//定义三个对象
student *head, *p;//定义结构体指针,head是链表头-它的初始化见下面,p是临时指针-它的作用和head不同
stuA.ID = 1001;
stuA.name = "Julia";
stuB.ID = 1002;
stuB.name = "Lucy";
stuC.ID = 1003;
stuC.name = "Sophia"; //建立结构体具体对象并赋值
head = &stuA; //head的初始化
stuA.next = &stuB;
stuB.next = &stuC;
stuC.next = nullptr; //链表的头为head,链表的尾是NULL,中间三段利用指针依次相连
p = head;//p为临时指针,用来在三个对象上依次移动。这句话也是p的初始化
while (p != nullptr)
{
cout << p->ID<< " " << p->name << endl;//打印结果
p = p->next; //移动p
}
system("pause");
return EXIT_SUCCESS;
}编程收获:
链表需要在结构体定义时,定义一个指针*next;
这个*next与main()里的*head, *p不太相同。 链表里的*next是每个结点里的指针
*head是第一个结点的指针,*p是在几个不同对象上移动用的临时指针
用图表示即为:
图中暗红色的是指针,p作为临时指针可以在这四个指针位置移动
红色的为结构体对象,指针总是指向一个对象。当p移动的时候,它指向的对象变化
在这个程序里,head和每个对象的next是固定不动的,只有p指针可以移动
运行结果:
相关文章推荐
- C++中结构体和最简单链表
- 结构体指针链表基础练习(源代码)
- C语言_链表_结构体_电话簿简单实现
- 链表,遍历链表,结构体指针
- C语言语法笔记 – 高级用法 指针数组 指针的指针 二维数组指针 结构体指针 链表 | IT宅.com
- 简单结构体与函数指针的使用
- Java没有指针怎么实现链表?
- 链表中的结构体和指针
- 结构体,文件操作,指针,简单练习
- 用结构体变量和指向结构体变量的指针构成链表
- 结构体指针处理链表
- 简单的链表结构体
- BNUOJ 26182 -----------Army Buddies 用结构体 仿双向链表的简单操作
- 链表的头指针在函数里修改怎么没有用?
- 判断仅有指针域的单链表是否有环且怎么找到环
- 指向结构体变量的指针的简单应用
- C语言语法笔记 – 高级用法 指针数组 指针的指针 二维数组指针 结构体指针 链表 | IT宅.com
- 内存字节对齐---对结构体非常重要。不能用memcpy简单的移动指针进行赋值
- 指针数组 指针的指针 二维数组指针 结构体指针 链表
- 从单链表创建中的内存变化来理解结构体指针与二级指针的用法