C语言结构体指针的使用方法

1.首先定义一个结构体,给它取别名:

typedef struct node{

struct node * next;//指向下一节点

int data;//数据域

}pnode,*linklist;;//别名与指针名

2.定义结构体指针与指针变量,给出几种不同的定义方式

struct node *a,b;

pnode *c,d;

linklist  p;

他们别名的关系如下:

linklist=struct node *=pnode*;

pnode=struct node;

这里的a即指向结构体node的指针,b为结构体变量。两者之间关系为:

a=&b;

其他定义方式之间关系为(这里指的是类别之间关系):

c=&d;  c=&b

d=b;

p=a;  p=c; p=&b;    p=&d

像这之中c和p也是指向结构体node的指针。

3.结构体成员的访问:

指针可以用 "->" 来访问成员变量,结构体对象用  "." 来访问,指针也可以用 "." 来访问,

(1)结构体对象访问成员变量时:

b.data=2;

(2)指针的访问成员变量方式:

a->data=2;

(*a).data=2;

4.函数传递结构体指针和变量的方法

因为指针指向结构体的首地址,假设函数为:

int sum(struct node *a,struct node *p);

传递时:

指针为:sum(a,c);

结构体变量为:sum(&b,&d);

以上就是C语言结构体指针、变量与其对应关系,以及如何使用的方法了。

 

 

 

 

  • 22
    点赞
  • 76
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值