结构体指针

   今天对结构体指针谈一谈自己的看法与理解。一想到指针,自然而然就知道用它来干嘛,可以用来存放内存地址,用来间接访问,间接修改,也可以用到函数里面实现更多值的返回等等,关于结构体指针,当然也肯定少不了用来间接访问结构体里面的数据成员。我觉得更重要的是,为学习后面的链表打下基础。

下面是定义好的一个结构体

struct node

{

   int  a;

};

struct node hp;

我定义了一个结构体变量hp;

这样我们后面就可以利用.运算符访问里面的成员了

比如  hp.a=10; 成功的访问了结构体里面的数据a并为它附上了初始值10

我们也可以换一种方式实现上面同样的功能

struct node *p;

我定义了一个结构体指针p

p=&hp;

我将结构体变量hp的地址给了p,这样我就可以间接访问结构体里面的成员了

p->a=10 ;通过箭头运算符实现访问结构体成员

 

我也可以将指针放到结构体里面,实现数据的访问与赋值

如:

struct node

{

   int  a;

   struct node *p;

};

struct node hp;

int main()

{

hp.p=&hp

hp.p->a=10;

...

}

 

也实现了访问结构体数据并附上初始值

 

  我们在学习链表的时候,我们知道链表的每一个节点里面都有一个指针来存放下一个节点的内存地址,来将他们串联起来,链表的设计就是和这种方式一样,每创建一个节点,节点里面就有一个结构体指针用来存放下一个节点的地址,访问的时候就将节点里面的地址取出来,通过->运算符访问里面的数据。

后面会依次分享链表的创立和访问,以及一些基础的操作。

今天分享的结构体指针希望对你理解链表有帮助

 

posted @ 2019-08-11 15:14  足迹遍地  阅读(370)  评论(0编辑  收藏  举报