将指针数组结构传递给函数

时间:2018-11-30 21:14:07

标签: c arrays function pointers

我想将一些数组结构传递给函数,以便可以按年龄重新排序。我不确定如何输入。

   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 :(得分:0)

例如

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

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

这将起作用,因为数组将衰减为要键入的指针。 请注意,您不再知道阵列的大小。您可能需要传递数组的大小。