如果有结构:
struct Student // Student structure to store student's records
{
int rollno; // student rollno
string name; // student name
string address; // address
int pno; // phone number
};
和int main()包含
int main()
{
Student *s;
s= new Student [10];
}
那么我们如何将结构分配给相同类型的不同结构?
void arrange()
{
Student *p= new Student;
// int temp;
for (int i=0; i<10; i++)
{
for (int j=0; j<10; j++)
{
if (i != j)
{
if (s[i].rollno > s[j].rollno)
{
p = s[i];
s[i] = s[j];
s[j] = p;
}
}
}
}
答案 0 :(得分:1)
我们如何将结构分配给相同类型的不同结构
只需复制构造它:
int main()
{
Student s[10]; // array of 10 students
Student student = s[5]; // copy of 6th element of array
}
你用所有这些指针过度复杂化了。
答案 1 :(得分:0)
如果您将p声明为指向学生的指针,则struct
会访问*p
。所以你应该写:
*p = s[i];
s[i] = s[j];
s[j] = *p;
但是,我不认为指针在这里有任何用处。只需写下
Student p;