结构体指针和结构体中的指针的区别

 我来答
哑然o3o
推荐于2019-08-30 · TA获得超过7546个赞
知道答主
回答量:40
采纳率:100%
帮助的人:6017
展开全部

1、针对的数据类型不同:

结构体指针:结构体指针对变量。

结构体中的指针:结构体中的指针指成员。

2、针对的含义不同:

结构体指针:指向结构体类型的指针。

结构体中的指针:指成员指针。

3、用法不同:

结构体指针:

struct A{ int a;  flaot b;};struct A m,*p=&m;   

p就是struct A类型的结构体指针,指向了同类型的结构体变量m。

结构体中的指针:

struct B

{ int a;  float *b;  struct B *next;};struct B m,n; float bb=1.1;m.b=&bb;m.next=&n;

b成员是指float类型的指针,next成员是指struct B类型的指针。

--
2022-12-05 广告
/我用的是定义空类型的指针,再用强制类型转换来做的。有点麻烦但能实现 #include #include struct data{ int a; char b; }; void main() { void *p; struct data x... 点击进入详情页
本回答由--提供
天天向上李亚飞
推荐于2018-02-27 · 学习——就要天天向上!
天天向上李亚飞
采纳数:540 获赞数:3878

向TA提问 私信TA
展开全部

结构体指针是指指向结构体类型变量的指针。

如:

struct A
{ int a;
  flaot b;
};
struct A m,*p=&m;

这里的p就是struct A类型的结构体指针,指向了同类型的结构体变量m;有这个指向操作后,以后用m和用*p是一样的。


结构体中的指针是指成员指针。

如:

struct B
{ int a;
  float *b;
  struct B *next;
};
struct B m,n; 
float bb=1.1;
m.b=&bb;
m.next=&n;

这里的b成员是指float类型的指针,next成员是指struct B类型的指针。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Aupryyyyyyyyyy
推荐于2017-11-22 · TA获得超过1636个赞
知道大有可为答主
回答量:1574
采纳率:53%
帮助的人:945万
展开全部
如果有个叫做 abc 的结构体,结构体指针就是 abc *
结构体中的指针,就是它有个成员是指针
struct abc
{
int *haha; /* 结构体中的指针 */

};
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友ccb717c
2018-03-10
知道答主
回答量:1
采纳率:0%
帮助的人:883
引用feitkyue的回答:
结构体指针是指指向结构体类型变量的指针。
如:
struct A{ int a; flaot b;};struct A m,*p=&m;这里的p就是struct A类型的结构体指针,指向了同类型的结构体变量m;有这个指向操作后,以后用m和用*p是一样的。

结构体中的指针是指成员指针。
如:
struct B{ int a; float *b; struct B *next;};struct B m,n; float bb=1.1;m.b=&bb;m.next=&n;这里的b成员是指float类型的指针,next成员是指struct B类型的指针。
展开全部
这里的b成员是指float类型变量的指针,next成员是指struct B类型变量的指针。
float、struct B都只是一种数据类型,是不占用内存的,故没有指针;
只有float或struct B定义的变量才会有指针(如:float a;a为变量就占内存,就有地址即指针)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式