永发信息网

C++结构体内嵌套共用体,其对象如何在过程之后声明?

答案:2  悬赏:20  手机版
解决时间 2021-02-03 22:59
  • 提问者网友:欺烟
  • 2021-02-03 10:52
#include
#include
struct information
{
char name[20];
unsigned int age;
char sex[4];
union id
{
char uc_id[20];
unsigned int uu_id;
}id_val;
};
int main()
{
using namespace std;
information a;
cin >> a.id_val.uc_id;
cin.get();//消除由cin造成的换行符,避免程序中断。
cout << a.id_val.uc_id << endl;
cin.get();
return 0;
}

问题1:从上述代码中可以看出,在共用体的过程中声明了id_val对象,如果在过程之后声明,该如何做?
例如:
int main()
{
using namespace std;
information a;//如何以这种方式声明 结构体对象 和 嵌套在结构体内的共用体对象?
cin >> a.id_val.uc_id;
return 0;
}

问题2:
#include
#include
struct information
{
char name[20];
};
int main()
{
using namespace std;
information a;
a.name="make";//出错位置
cout << a.name << endl;
cin.get();
return 0;
}

上述代码中对于结构体内的char数组成员 该如何赋值?为何上述代码会出错呢?
最佳答案
  • 五星知识达人网友:怙棘
  • 2021-02-03 11:06
对char数组赋值可用strcpy(a.name, "make")函数,加#include
第一个问题在过程之后声明是什么意思呢?
全部回答
  • 1楼网友:归鹤鸣
  • 2021-02-03 11:35
可以私聊我~
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯