struct student{
char name[30]...
};
struct element
{
struct element *ant;
struct student databse;
struct element *prox;
};
Element *no = *pointer_to_pointer;
cout<< (*no).datbase.name << endl;
我正确打印了名字。
Element *no = *pointer_to_pointer;
char variable = (*no).datbase.name;
cout<< variable << endl;
错误。为什么???如何打印?但是在variable中。谢谢。
datbase.name
的类型是char[]
,这意味着您不能直接将其分配给char
变量。使用char *variable
代替:
char *variable = (*no).datbase.name;
cout<< variable << endl;
如果只打印一个char
角色,请写:
char variable = (*no).datbase.name[0]; //the first character of 'name'
您正在尝试将char数组name
转换为单个char,这将不起作用,这些类型不兼容。
如果要使用name
的内容,则应使用:
const char* variable = (*no).datbase.name;
std::cout << variable << std::endl;
如果要在name
char数组内建立索引,请使用[]
对其进行索引,如下所示:
/* Take first character of name */
char variable = (*no).datbase.name[0];
std::cout << variable << std::endl;