C语言结构体指针的使用方法
1.首先定義一個結(jié)構(gòu)體,給它取別名:
typedef struct node{
struct node * next;//指向下一節(jié)點
int data;//數(shù)據(jù)域
}pnode,*linklist;;//別名與指針名
2.定義結(jié)構(gòu)體指針與指針變量,給出幾種不同的定義方式
struct node *a,b;
pnode *c,d;
linklist ?p;
他們別名的關(guān)系如下:
linklist=struct node *=pnode*;
pnode=struct node;
這里的a即指向結(jié)構(gòu)體node的指針,b為結(jié)構(gòu)體變量。兩者之間關(guān)系為:
a=&b;
其他定義方式之間關(guān)系為(這里指的是類別之間關(guān)系):
c=&d; ?c=&b
d=b;
p=a; ?p=c; p=&b; ? ?p=&d
像這之中c和p也是指向結(jié)構(gòu)體node的指針。
3.結(jié)構(gòu)體成員的訪問:
指針可以用 "->" 來訪問成員變量,結(jié)構(gòu)體對象用 ?"." 來訪問,指針也可以用 "." 來訪問,
(1)結(jié)構(gòu)體對象訪問成員變量時:
b.data=2;
(2)指針的訪問成員變量方式:
a->data=2;
(*a).data=2;
4.函數(shù)傳遞結(jié)構(gòu)體指針和變量的方法
因為指針指向結(jié)構(gòu)體的首地址,假設函數(shù)為:
int sum(struct node *a,struct node *p);
傳遞時:
指針為:sum(a,c);
結(jié)構(gòu)體變量為:sum(&b,&d);
以上就是C語言結(jié)構(gòu)體指針、變量與其對應關(guān)系,以及如何使用的方法了。
?
?
?
?
總結(jié)
以上是生活随笔為你收集整理的C语言结构体指针的使用方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 基于face++的人脸识别(上)
- 下一篇: LeetCode上求最长公共字符前缀字符