c++ 结构指针和双向链表

?结构指针
?为结构指针动态分配内存
?结构中的结构
?双向链表

?结构指针
        struct mytime
     {
         //char name[256];
         int hour;//时
         int min; //分
         int sec; //秒
     };

     struct stu_data
     {
         char name[256];//学生名字
         struct mytime stuTime;//签到时间

     }  ;
     struct stu_data *stu; // int *pi;
?为结构动态分配内存
     stu=malloc(sizeof(struct stu_data)); //256+12=268

?结构中的结构
      struct stu_data
     {
         char name[256];//学生名字
         struct mytime
         {
             //char name[256];
             int hour;//时
             int min; //分
             int sec; //秒
         } stuTime;//签到时间

     }  ;
     struct mytime t2;
     struct stu_data *stu;

?双向链表结构
     链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。 相比于线性表顺序结构,链表比较方便插入和删除操作。

     struct mytime
     {
         //char name[256];
         int hour;//时
         int min; //分
         int sec; //秒
     };

     struct  stu_data
     {
         char name[256];//学生名字
         struct mytime stuTime;//签到时间
         struct  stu_data* front; //指向前一个结点
         struct  stu_data* back;  //指向后一个结点

     }  ;

   stu=malloc(sizeof(struct stu_data)); //256+12=268

 1    front    back
name    stuTime    ...    其它数据    NULL    2
2
name    stuTime    ...    其它数据    1    3
3
name    stuTime    ...    其它数据    2    4
4
name    stuTime    ...    其它数据    3    xx
XX
name    stuTime    ...    其它数据    4    0x0041118
0x0041118
name    stuTime    ...    其它数据    xx    NULL
时间: 2024-12-12 12:20:05

c++ 结构指针和双向链表的相关文章

delphi 记录类型-结构指针

unit Unit1; interface uses   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,   Dialogs, StdCtrls; type   TForm1 = class(TForm)     Button1: TButton;     procedure Button1Click(Sender: TObject);   private     { Private decla

typedef struct LNode命名结构指针(线性表的链式存储)

一.typedef 关键字 1. 简介: typedef工具是一个高级数据特性,利用typedef可以为某一些类型自定义名称. 2. 工作原理: 例如我们定义链表的存储结构时,需要定义结点的存储数据元素的类型,如定义一个 int 类型的ElemType,我们可以在定义前面加上关键字typedef即可: typedef int ElemType; 随后我们便可以用ElemType来定义上述数据元素的类型了: ElemType data; 二.对下述结构指针定义的理解 1 typedef int E

C语言 结构指针变量作函数参数和链表基础

结构体变量作为函数参数(传递整个结构体): 指向结构体变量的指针作为实参(传递结构体的地址): 数据结构之链表:   原文地址:https://www.cnblogs.com/souhaite/p/10960457.html

[swmm]调用存储数据的“结构指针数组”

目的: swmm读取.inp文件后,会进行一定计算(如计算conduit.slope)并将信息存储在各个指针变量中,如:TConduit* Conduit等.通过在python中调用该指针,能更快捷的编程. 思路步骤: 根据swmm5.c,编写Swmm5Extend.c: 删去读取文件后的模拟函数: 重写便于python使用的swmm5_extend_run(): 编写将object数量存储在全局变量中的函数count_object(): 将函数与全局变量都放在Swmm5Extend.h中: 编

结构指针

和数组不同,结构变量的名字并不是结构变量的地址,必须使?&运算符 #include<stdio.h> struct date { int month; int day; int year; }; int main(int argc, char const *argv[]) { struct date today; today = (struct date){07, 31, 2014} struct date *pDate = &today; ...... } 原文地址:http

关于结构指针的内容显示问题

teg017杏载灰氯假诜<http://weibo.com/p20180411p/230927983016677547446272?GR> y9hviy揽拍摆榷仍绷<http://weibo.com/p/230927983168709436645376?NlPF_20180411> vp490l烟邢悼赫依讨<http://weibo.com/20180411pp/230927983099324126728192?=GE> 3hqckt秘亢目芈仝镣<http://w

(C)struct结构体指针

结构体指针 指针结构与指针的关系亦有两重:其一是在定义结构时,将指针作为结构中的一个成员:其二是指向结构的指针(称为结构指针). 前者同一般的结构成员一样可直接进行访问,后者是本节讨论的重点. 结构指针说明的一般形式是: struct (结构类型名称) * (结构指针变量名);例如:struct date * pdate, today;说明了两个变量,一个是指向结构date的结构指针pdate,today是一个date结构变量. 语句: struct date{ int year; int mo

结构体与共用体——指向结构数组的指针

指针变量可以指向一个结构数组,这时结构指针变量的值是整个结构数组的首地址. 结构指针变量也可指向结构数组的一个元素,这时结构指针变量的值是该结构数组元素的首地址. 设ps为指向结构数组的指针变量,则ps也指向该结构数组的0号元素,ps+1指向1号元素,ps+i则指向i号元素. 这与普通数组的情况是一致的. [例11.6]用指针变量输出结构数组. struct stu { int num; char *name; char sex; float score; }boy[5]={ {101,"Zho

结构体 数组 指针

#include <stdio.h> #include <iostream> #include<math.h> using namespace std; int main() { //定义结构类型 struct human { char name[10]; int sex; int age; }; //声明结构数组和结构指针变量,并初始化 human x[]={{"WeiPing",1,30},{"LiHua",1,25},{&q