怎样初始化一个结构体中指向另一个结构体的结构体指针变量

structemployee{intid;charlastName[64];charfirstName[64];charphoneNo[32];structaddress... struct employee {
int id;
char lastName[64];
char firstName[64];
char phoneNo[32];
struct address *location ;
};
struct address {
int id;
int streetNo;
char streetName[64];
char city[64];
char province[16];
char postalCode[8];
};
我想知道 在main()函数中 怎么初始化struct employee 中的这个struct address *location 和怎么调用
展开
 我来答
流行狼月
2011-08-05 · TA获得超过995个赞
知道答主
回答量:94
采纳率:0%
帮助的人:86.7万
展开全部
typestruct Stu
{
int stu
} stu;

typedef struct MyStu
{
stu *t;
int mystu;
}mystustudent;
int main()
{
mystudent * p = malloc (sizeof(struct Mystu));
//这里面你只是为mystudent这个结构体开辟了一个空间,由p来指向这个空间,但是我们要确定一点,就是这个空间里面存放了一个指针(它仅仅开辟了一个指针的空间和一个int 大小的空间),至于这个指针指向的地址呢?????你还没有分配呢!!,下面必须要进行分配了
stu *t = malooc(sizeof(struct Stu));其实这是很没必要的!因为我们完全可以用普通类型来实现
typedef Mystu
{
stu t;
int mystu;
}
这样的话 p 指针开放的空间就是由stul类型的t 结构体空间和一个int类型的空间组成,何必再去动态开配一个空间呢!

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Xuxu8511
推荐于2016-05-28 · TA获得超过388个赞
知道小有建树答主
回答量:1344
采纳率:0%
帮助的人:770万
展开全部
给个实例你就知道了...

#include<stdio.h>
typedef struct ss{
int a;
}ss;

void main()
{
ss s1,*s2;
s1.a = 1;
s2 = &s1;

printf("%d\n",s2->a);
}
追问
struct employee {
int id;
char lastName[64];
char firstName[64];
char phoneNo[32];
struct address *location ;
};
struct address {
int id;
int streetNo;
char streetName[64];
char city[64];
char province[16];
char postalCode[8];
};
我想知道 在main()函数中 怎么初始化struct employee 中的这个struct address *location 和怎么调用
追答
初始化address结构体 这个应该会把    然后再对employee 初始化

初始化完了后,调用的话就如一般调用一样的用啊
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
luochaorong008
2011-08-05
知道答主
回答量:18
采纳率:0%
帮助的人:4.7万
展开全部
翻翻以前的书吧,很详细的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式