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;

对应得指针形式为:

(*a).data=2;   (这里*a要用括号括起来,牵扯到优先级的问题)

(2)指针的访问方式:

a->data=2;

p->data=2;

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

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

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

传递时:

指针为:sum(a,c);

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

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





猜你喜欢

转载自blog.csdn.net/kuishao1314aa/article/details/80249172