Как ссылаться на массив структуры все поля - PullRequest
1 голос
/ 28 сентября 2019

Я использую массив struct:

struct person
{
    char name[100];
    char address[100];
    char IDnumber[20];
    int  age;
}; 

struct person student[10];

для хранения данных, которые имеют 4 поля.Теперь я хочу отсортировать их в алфавитном порядке по полю «имя».

Как обратиться к массиву ученика для выполнения операции подкачки, чтобы поменять местами все поля?

char temp;

for(int r=0;r<k-1;r++) {
       for(int s=r+1;r<k;r++) {

          if(strcmp(student[r], student[s]) > 0) {
            strcpy(temp,student[r]);
            strcpy(student[r],student[s]);
            strcpy(student[s],temp);
          }
       }
   }

1 Ответ

1 голос
/ 28 сентября 2019

Путем обработки struct variable как любой другой нормальной переменной.

      if(strcmp(student[r].name, student[s].name) > 0) {
        struct person temp = student [r];
        student[r] = student[s];
        student[s] = temp;
      }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...