Передача структуры массива указателей в функцию - PullRequest
0 голосов
/ 01 декабря 2018

Я хочу передать некоторые структуры массивов в функцию, чтобы я мог изменить порядок по возрасту.Я не уверен, как набрать его.

   typedef structure {
    char name[100];
    int age;
    }person;

    person function ( How do I pass them? ) 
{
reordering;
}
    int main(){

    printf("How many ppl?");
     ...
    person *v[n]; ( I decided to not use dynamic allocation for simplicity of example
    for(i=0;i<n;i++)
    {
    // Names and age reading using arrays
    v[i].name
    v[i].age
    }

      function ( ??? );

Я хочу изменить порядок по возрасту.Как передать массивы в качестве указателя на функцию, которая будет переупорядочиваться по возрасту людей?

1 Ответ

0 голосов
/ 01 декабря 2018

например

   void function(type* array)
   {
     // codes
   }

   void func_call()
   {
     type array_to_pass[];
     function(array_to_pass);
   }

Это будет работать, так как массив превратится в указатель на тип.Обратите внимание, что вы больше не знаете размер вашего массива.Возможно, вы захотите передать размер массива.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...