内容纲要

指向结构体变量的指针

1.一个结构体变量的指针就是该变量所占据内存的起始地址。
2.指针变量也可以用结构体数组中的元素。

通过指向结构体变量的指针,引用结构体变量中的成员。

#include <iostream>
using namespace std ;
struct MyStruct
{
    char name[10];
    int age;
    int Idcard[10];
}has[2],*p;
void main()
{
    has[0] = {"hahaha;",10,100000};
    has[0].age = 20;
    p = &has[0];
    cout <<p->age<< endl;
    system("pause");
}

这里注意,在调用成员之前,要先指向结构体变量名,然后在指向变量中的成员。

引用

在引用时候要加括号。因为"."的优先级比*高

(*指针名).变量名;

引用的三种的形式

结构体变量。成员名
(*p)。成员名
指针名->成员名

用结构体变量和指向结构体变量的指针构成链表

链表是一种数据结构

1.链表中有一个头指针变量,一般以hard表示.他存放一个地址该地址指向一个元素,链表中每一个元素称之为节点。
2.每一个节点都应该包含两个部分,一个是用户需要的实际数据二是下一个节点的地址。
3.最后一个不再指向其他元素,它称为尾表,它的地址部分放null,链表到此结束。
4.链表中各个储存元素在内存中的储存单元可以是不连续的。

举个栗子

#include<iostream>
using namespace std;
void exportation(int x,struct lianbiao *ps);
struct lianbiao
{
    int a;
    char name[10];
    lianbiao *p;
}a1,a2,a3,*hard;

void main()
{
     a1 = {1,"haha;",&a2};
     a2 = {2,"hehe;",&a3};
     a3 = {3,"lalala;",NULL};
     hard = &a1;
     exportation(3,hard);
     system("pause");
}
void exportation(int x, struct lianbiao *ps)
{
    for (int  i = 0; i <x; i++)
    {
        cout<< (*ps).a<< ps->name<<endl;
        ps=ps->p;
    }
}

以上是输出一个链表,有三个个节点。

1 对 “c++ 基础指向结构体变量的指针与链表”的想法;

  1. Pingback: buy viagra

发表评论