结构体嵌套问题

如下代码结构体嵌套时为什么还要加上birthday,加上birthday不就成了一个名字为DATEbirthday的新结构体吗?这不变成定义了吗?不是说结构体可以嵌套使用... 如下代码结构体嵌套时为什么还要加上birthday,加上birthday不就成了一个名字为DATE birthday的新结构体吗?这不变成定义了吗?不是说结构体可以嵌套使用不能嵌套定义吗?
#include "stdafx.h"
#include <iostream>
using namespace std;
struct DATA
{
int month;
int day;
int year;
};
struct CHARACTER
{
unsigned long uID;
char strName[20];
char nSex;
unsigned short uLevel;
struct DATE birthday;
};
展开
 我来答
惊呆小伙伴噻
2014-04-21 · 超过37用户采纳过TA的回答
知道答主
回答量:71
采纳率:0%
帮助的人:90.6万
展开全部
你想多了,代码struct DATE birthday表示结构体CHARACTER中有一个DATE类型的数据成员,而DATE结构已经在上面定义了,所以并不存在问题。

结构体可以嵌套使用不能嵌套定义是指结构体在定义时不能含有他自己定义的成员变量,但是可以含有自己定义的指针。

比如:
struct DATA {
int month;
int day;
int year;
DATA xxx; //这才是嵌套定义,会造成死循环,是不对的
};
懂了吗?
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式