Je travaille sur un projet qui a plusieurs paramètres d'entrée (certains d'entre eux doivent être calculés dans le code), donc je les ai tous mis dans une structure.Comment passer un pointeur vers un tableau bidimensionnel dont la taille est définie par un pointeur en C?
typedef struct{
int N_cell;
int N_node;
}INPUT;
Dans la fonction principale, je déclare
INPUT in;
Après cela, il y a plusieurs lignes utilisées pour le calcul in.N_cell et in.N_node. Maintenant, je définis
double *pos_node[in.N_node];
for (i = 0; i < in.N_node; i++)
pos_node[i] = (double *) calloc(3, sizeof(double));
Je dois passer le pointeur de ce tableau à une fonction que je définis comme
void func(double *pos_node[????]){....}
Ma question est, que dois-je écrire dans le « ???? " endroit? Devrais-je utiliser in.Node et ajouter "INPUT in" dans la liste des paramètres?
Merci beaucoup!
vous aurez du mal à compiler quelque chose comme ce que vous avez là que vous n'avez pas défini une taille finie de pos_node (en utilisant une variable n'est pas aller au travail) – KevinDTimm
Avez-vous des conseils sur la façon de traiter ce genre de problème? Je veux dire beaucoup de fonctions besoin d'utiliser ces paramètres d'entrée et la taille de certains tableaux sont déterminés par eux. Pensez-vous mieux utiliser les variables "extern"? –