c语言 结构体指针疑问,谢谢
structa{chari,charm,floatn};structb{inti,charm,charn};structaone={'a','b',3.14};struc...
struct a{ char i ,char m, float n};
struct b{ int i ,char m, char n};
struct a one={'a','b',3.14};
struct a *p;
p=&one;
我不理解的是,后边两句,首先定义了指向a结构的一个指针,既然都是指向a结构了,那么p里面装的应该是a结构体的首地址吗?那为什么还要p=&one呢? one这个结构体变量不也是指向a这个结构体吗?谢谢 展开
struct b{ int i ,char m, char n};
struct a one={'a','b',3.14};
struct a *p;
p=&one;
我不理解的是,后边两句,首先定义了指向a结构的一个指针,既然都是指向a结构了,那么p里面装的应该是a结构体的首地址吗?那为什么还要p=&one呢? one这个结构体变量不也是指向a这个结构体吗?谢谢 展开
3个回答
展开全部
struct a *p; 只是申明了一个结构体指针,没有指向任何实际内存
p=&one; 表示把指针指向了one的地址,这个时候可以通过p来访问one了
p=&one; 表示把指针指向了one的地址,这个时候可以通过p来访问one了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
struct a ,这个a相当于是类型,你把它看成int就明白了:
int one;
int *p;
p=&one;
理解了吗?
int one;
int *p;
p=&one;
理解了吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询