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 . Essentiellement: p> Configuration () code> exécute dans Main, comment accéder au contenu de array1 code> dans configuration () code>.
3 Réponses :
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);
Envoyez simplement la matrice en tant que méthode PARAM à la configuration ().
setup(array1); //in main function
void setup(struct array1[])
{
//process array1 here
}
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;
}
transmettre comme paramètre
A quoi cela ressemble-t-il? Sera-t-il capable de ne pas être global