-1
votes

Comment transmettre des structures de la fonction principale à une autre fonction

Je suis cette gamme de structs que j'essaie de passer à une autre fonction (configuration) dans mon programme C. Le tableau est créé et peuplé dans la fonction principale. Je le ferais global mais je ne connais pas la taille de la matrice tant que le programme ne commence, car il prend en charge de la ligne de commande arguments. La fonction de configuration fonctionnera en main. Étant donné que le tableau est renseigné avant Configuration () exécute dans Main, comment accéder au contenu de array1 dans configuration () .

. Essentiellement: xxx


2 commentaires

transmettre comme paramètre


A quoi cela ressemble-t-il? Sera-t-il capable de ne pas être global


3 Réponses :


2
votes

Vous pouvez transmettre un pointeur sur la structure avec un paramètre de taille optionnelle dans la fonction code> Configuration code>.

void setup(struct examples *arr, int size)
{
  ..
}

// in main
setup(array1, count-2);


0 commentaires

0
votes

Envoyez simplement la matrice en tant que méthode PARAM à la configuration ().

setup(array1); //in main function

void setup(struct array1[])
{
   //process array1 here
}


0 commentaires

2
votes

Vous devez transmettre le pointeur de ce tableau à la fonction, le pointeur est la position des données en mémoire, pour les tableaux que vous devez passer uniquement le nom du tableau

void setup(struct examples* array, int count)
{
    int i=0;
    for(;i<count;i++) {
        //Do something
        array[i] 

    }
   //Wanting to access array in here
}
int main(int argc, char *argv[])
{


    struct examples array1[count-2];

    // Calculation occurs here and fills array1

    setup(array1,count-2);
    return 0;
}


0 commentaires