#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数组成员 该如何赋值?为何上述代码会出错呢?