IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 C Discussion :

Passage de paramètre en cascade


Sujet :

C

  1. #1
    Membre actif
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2008
    Messages
    464
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Mars 2008
    Messages : 464
    Points : 268
    Points
    268
    Par défaut Passage de paramètre en cascade
    Bonjour, je débute en C et j'ai quelques questions à poser sur le passage de paramètre par valeur :

    Si je prend l'exercice qu'on voit souvent sur internet :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    main()
    {
    int i, j, k ;
    add(i,j,&k) ;
    }
     
    void add(int a, int b, int *c)
    {
    *c = a + b ;
    }
    Bien je comprends le principe

    Je veux maintenant compléxifier le programme pour faire du passage de paramètre en cascade :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    main()
    {
    int i, j, k ;
    passage(i,j,[]k) ;
    }
     
    void passage(int a, int b, int []c)
    {
    add(x,y,[]z) ;
    }
     
    void add(int a1, int b1, int []c1)
    {
    []c1 = a1 + b1 ;
    }
    Ma question est la suivante :
    Que dois je mettre dans les []
    Je vous remercie pour votre aide

  2. #2
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 379
    Points : 41 575
    Points
    41 575
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    void add(int a1, int b1, int *c1)
    {
    *c1 = a1 + b1 ;
    }
    
    void passage(int a, int b, int *c)
    {
    add(a,b,c) ;
    }
    
    int main(void)
    {
    int i, j, k ;
    passage(i,j,&k) ;
    return 0;
    }

  3. #3
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 379
    Points : 41 575
    Points
    41 575
    Par défaut
    Mais ça paraîtra tout de suite plus clair si tu utilises une convention de nommage pour les pointeurs:
    Code C : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    void add(int a1, int b1, int *pc1)
    {
    	*pc1 = a1 + b1 ;
    }
     
    void passage(int a, int b, int *pc)
    {
    	add(a, b, pc) ;
    }
     
    int main(void)
    {
    	int i, j, k ;
    	passage(i, j, &k) ;
    	return 0;
    }

  4. #4
    Membre actif
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2008
    Messages
    464
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Mars 2008
    Messages : 464
    Points : 268
    Points
    268
    Par défaut Un dernier coup de pouce
    Merci medinoc pour ta réponse rapide et fiable (jai testé , ça marche)
    J'aimerai maintenant complexifié le code de la manière suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    void add(int a1, int b1, int []c1)
    {
    	[]c1 = a1 + b1 ;
    }
     
    void passage(int a, int b, int []c)
    {
    	add(a, b, []c) ;
    }
     
    int main(void)
    {
    	int i, j, *k ;
    	passage(i, j, []k) ;
    	return 0;
    }
    En fait je ne déclare plus k comme variable dans le programme principal mais comme pointeur. (Dans ce que tu as proposé, j'ai volontairement retiré les convention de nommage "p" car je ne sais plus bien quoi est quoi!!)

    Si on pourrait m'éclaircir sur ce dernier point cela m'aiderait à plus facilement comprendre la notion de pointeur en c (j'ai regardé dans la doc mais cela manque cruellement d'exemple un peu plus développé que les simples exemples que nous avons dans les docs).

  5. #5
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 379
    Points : 41 575
    Points
    41 575
    Par défaut
    Tu ne peux pas faire ça, car dans ton code k se retrouve être un pointeur qui ne pointe sur rien.
    Dans ce code, k (renommé en pk pour bien montrer que c'est un pointeur) pointera sur une nouvelle valeur, ii:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    #include <stdio.h>
     
    void add(int a1, int b1, int * pc1)
    {
    	*pc1 = a1 + b1 ;
    }
     
    void passage(int a, int b, int *^pc)
    {
    	add(a, b, pc) ;
    }
     
    int main(void)
    {
    	int i=1, j=2, *pk ;
    	int ii;
    	pk = &ii;
    	passage(i, j, pk) ;
    	printf("%d\n", ii);
    	return 0;
    }
    Si je ne me suis pas trompé, ce code devrait afficher 3.

  6. #6
    Expert éminent sénior
    Avatar de diogene
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Juin 2005
    Messages
    5 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 761
    Points : 13 926
    Points
    13 926
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    int main(void)
    {
    	int i, j, *k ;
    	passage(i, j, []k) ;
    	return 0;
    }
    Qu'estce que c'est que ce []k ?

    Si tu veux stocker une valeur, il te faut un espace de stockage.
    Si tu veux modifier cette valeur par une fonction tu peux,
    - utiliser la valeur de retour de la fonction (mais ce n'est pas ici le but de l'exercice)
    - passer l'adresse de la variable à la fonction. Si la fonction sait où se trouve la variable elle peut y accéder. Tu peux passer soit directement l'adresse de la variable, soit mettre l'adresse dans un pointeur et passer ce pointeur. C'est équivalent.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     	int i, j,resultat;
            int * k = &resultat;
    ....
    	passage(i, j, &resultat) ; // l'adresse est mise directement
            passage(i, j, k) ;         // l'adresse est dans le pointeur
    Dans les deux cas, la fonction passage est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    void passage(int a, int b, int * res)
    {
        add(a,b,res);
    }
    La fonction add reçoit les deux nombres et l'adresse où mettre le résultat:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    void add(int a1, int b1, int * c1)
    {
    	*c1 = a1 + b1 ; // modifie la variable d'adresse c1.
                            // c1 est la valeur du res de la fonction add
                            // qui est l'adresse du resultat du main
    }

  7. #7
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 379
    Points : 41 575
    Points
    41 575
    Par défaut
    @diogene: Le [], c'est le trou qui signifie "qu'est-ce que je mets ici ?"
    Comme annoncé à la fin du premier post.

  8. #8
    Expert éminent sénior
    Avatar de diogene
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Juin 2005
    Messages
    5 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 761
    Points : 13 926
    Points
    13 926
    Par défaut
    Citation Envoyé par Médinoc Voir le message
    @diogene: Le [], c'est le trou qui signifie "qu'est-ce que je mets ici ?"
    Comme annoncé à la fin du premier post.
    Qu'est ce que je suis lourd : Je me disais qu'il mettait la notation tableau à l'envers et se posait des questions sur des indices à mettre dedans!!!!
    Mais je trouvais plus que bizarre que personne ne relève ce truc.

  9. #9
    Membre actif
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2008
    Messages
    464
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Mars 2008
    Messages : 464
    Points : 268
    Points
    268
    Par défaut Merci
    Merci Medinoc pour les précieux conseils, je vais le tester dès que je le pourrais et te tiendrais au courant.
    En tout cas merci.
    Pour info, en m'inspirant des codes trouvés sur internet en ncurses, forms et pannel, j'ai développé un petit programme qui créé un écran en utilisant ces bibliothèques. Or ces bibliothèques utilisent des pointeurs.

    J'ai réussi à tout développer dans une même routine mais ma prochaine étape est de structurer un peu le programme.

    C'est donc pour cela que je pose des questions sur le passage de paramêtres en cascade sur des pointeurs?

    PS : Désolé Diogène c'est vrai que le [] prête à la confusion pour le langage C

  10. #10
    Membre actif
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2008
    Messages
    464
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Mars 2008
    Messages : 464
    Points : 268
    Points
    268
    Par défaut Résolut
    Merci j'ai fait un test et ça fonctionne.
    Encore une fois merci pour les réponses rapides

  11. #11
    Membre actif
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2008
    Messages
    464
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Mars 2008
    Messages : 464
    Points : 268
    Points
    268
    Par défaut
    Rebonjour,
    Excusez moi mais j'avais encore oublié un cas spécifique (celui avec des tableaux et des pointeurs, je viens de me rendre compte que ça ne fonctionne pas)


    Voilà le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    void passage(int x, int y, int ()z)		;
    void add(int x, int y, int ()z)			;
    main()
    {
    	int	x[3], y[3]				;
    	int	*z[3]				;
    	(il manque peut être une ligne pour faire pointer le tableau z sur une variable)             
    
                 x[1]=5					;
    	y[1]=7					;
    						
    	passage(x,y,z)				;
    	printf("Resultat: z=%d\n",*z[1])		;	
    }
    
    void passage(int x, int y, int ()z)
    {
    	add(x,y,()z)				;
    }
    
    void add(int x, int y, int ()z)
    {
    	()z[1]= x[1] + y[1]				;
    }
    Que dois je mettre dans les ()

    Merci

  12. #12
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 379
    Points : 41 575
    Points
    41 575
    Par défaut


    Avec un tableau de pointeurs, ça me parait bizarre.
    J'ai modifié ton code pour faire ça juste avec trois tableaux:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    void passage(int const *x, int const *y, int *z) ;
    void add(int const *x, int const *y, int *z) ;
    
    int main(void)
    {
    	int x[3], y[3] ;
    	int z[3] ;
    
    	x[1]=5 ;
    	y[1]=7 ;
    	passage(x, y, z) ;
    	printf("Resultat: z=%d\n", z[1]) ;
    	return 0;
    }
    
    void passage(int const *x, int const *y, int *z)
    {
    	add(x, y, z) ;
    }
    
    void add(int const *x, int const *y, int *z)
    {
    	z[1]= x[1] + y[1] ;
    }
    Chaque fonction reçoit un pointeur const vers le premier élément des tableaux x et y, et un pointeur non-const vers le premier élément du tableau .
    Ensuite, la fonction add() lit le second élément des deux tableaux et place le résultat dans le second élément du tableau z.

  13. #13
    Membre actif
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2008
    Messages
    464
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Mars 2008
    Messages : 464
    Points : 268
    Points
    268
    Par défaut
    Merci Medinoc de ta réponse très rapide.
    J'ai encore trouvé une autre façon de procéder (en m'inspirant d'internet : je montre le bout de code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
     
    #include <string.h>
    #include <stdlib.h>
    #include <stdio.h>
    void passage(int x[], int y[], int z[])		;
    void add(int x[], int y[], int z[])			;
    main()
    {
    	int	x[3], y[3]			;
    	int	*z[3],i				;
    	z[1]=&i					;
    	x[1]=5					;
    	y[1]=7					;
    	passage(x,y,*z)				;
    	printf("Resultat: z=%d\n",*z[1])	;	
    }
     
    void passage(int x[], int y[ ], int z[])
    {
    	add(x,y,z)				;
    }
     
    void add(int x[], int y[], int z[])
    {
    	z[1]= x[1] + y[1]			;
    }
    Le résultat me donne bien 12 comme attendu.

    PS : les tableaux de pointeurs peuvent sembler bizarre à manipuler mais les bibliothèques NCURSES, FORM et PANNEL manipulent des structures spécifiques (FIELD, PANEL) qui sont des tableaux de pointeurs. Voilà pourquoi je pose la question

  14. #14
    Expert éminent sénior
    Avatar de diogene
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Juin 2005
    Messages
    5 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 761
    Points : 13 926
    Points
    13 926
    Par défaut
    Mais ce code est faux et ne marche pas !

    *z (ou z[0]) n'est pas initialisé. Si tu avais eu un peu de chance, le programme aurait planté

  15. #15
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 379
    Points : 41 575
    Points
    41 575
    Par défaut
    Ce code est mauvais: Tu lui passes un pointeur vers UN entier à la place du tableau, et la fonction add() nécessite au moins un pointeur vers un tableaud e deux éléments, car elle modifie le deuxième.

    De plus, l'écriture *z[1] est ambigüe. Utilise des parenthèses, pour dire soit (*z)[1] soit *(z[1]).

  16. #16
    Membre actif
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2008
    Messages
    464
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Mars 2008
    Messages : 464
    Points : 268
    Points
    268
    Par défaut Re
    Effectivement j'ai vite parlé, ça me marche pas.
    Je suis persuadé que ce que tu me proposes, Medinoc fonctionne mais ce qui m'intéresse c'est de faire passer un tableau de pointeur en paramètre ou plus exactement pointeur d'une structure définie en PANNEL ou en FIELD en paramètre (si vous connaissez NCURSES).
    Au final
    J'ai quelquechose de ce type

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    (différent appel include bibliothèque NCURSES, FORM et PANEL)
    
    void dec_panel(WINDOW *win, FORM *form, PANEL ()panel, FIELD ()field)
    
    sub_ecran()
    {
    (différente déclaration)
    FIELD *field
    PANEL *panel
    WINDOW *win
    FORM *form
    
    (différentes instructions)
    
    dec_panel(win, form, ()panel, ()field)
    
    }
    
    void dec_panel(WINDOW*win, FORM *form, PANEL ()panel, FIELD ()field)
    {
    (création d'un panel)
    }
    Doc voilà, je voudrais savoir ce que je dois mettre dans les ()

  17. #17
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 379
    Points : 41 575
    Points
    41 575
    Par défaut
    Un tableau de pointeur de structures ?
    Du genre:
    Code C : Sélectionner tout - Visualiser dans une fenêtre à part
    int fonction( PANEL * panels[] );
    ?

  18. #18
    Membre actif
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2008
    Messages
    464
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Mars 2008
    Messages : 464
    Points : 268
    Points
    268
    Par défaut Reponse
    Un tableau de pointeur plutot du genre :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    void sub1(()panel(), ()field())
    main
    {
    FIELD *field[N_FIELD]
    PANEL *panel[N_PANEL]
     
    sub1(()panel, ()field)
    }
     
    void sub1(()panel(), ()field())
    {
    ()field[1]=...
    ....
    ()field[n]=...
    ()panel[1]=...
    ...
    ()panel[n]=...
    }
    Bien entendu les () signifient que je ne sais pas ce que je dois mettre à l'intérieur

  19. #19
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 379
    Points : 41 575
    Points
    41 575
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    void sub1(PANEL *panel[], FIELD *field[]);
    
    int main(void)
    {
    	FIELD *field[N_FIELD];
    	PANEL *panel[N_PANEL];
    
    	sub1(panel, field);
    	return 0;
    }
     
    /* Note: Cette déclaration équivaut à:
       void sub1(PANEL **panel, FIELD **field)
     */
    void sub1(PANEL *panel[], FIELD *field[])
    {
    	/* Par contre, ce que tu mets dans la fonction dépend si tu veux modifier les pointeurs ou les objets pointés.
    	   Sachant que pour l'instant, aucun pointeur n'est initialisé,
    	   ils sont donc tous invalides: Ils ne pointent sur rien de tangible. */
    }

  20. #20
    Membre actif
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2008
    Messages
    464
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Mars 2008
    Messages : 464
    Points : 268
    Points
    268
    Par défaut MERCI
    Merci,
    apparemment la compilation fonctionne, il me reste quelques détail à vérifier

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Lazarus] Probable problème de passage de paramètres en cascade
    Par tourlourou dans le forum Lazarus
    Réponses: 5
    Dernier message: 09/09/2012, 16h37
  2. Passage de paramètres par pointeur, en cascade
    Par babykichon dans le forum Débuter
    Réponses: 34
    Dernier message: 27/05/2011, 16h02
  3. [XSL] Passage de paramètres à un template
    Par pantin dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 27/06/2003, 13h28
  4. passage de paramètres
    Par pram dans le forum XMLRAD
    Réponses: 5
    Dernier message: 18/02/2003, 17h28
  5. passage en paramètre d'un array dynamique 2D
    Par Guigui_ dans le forum Langage
    Réponses: 4
    Dernier message: 27/11/2002, 19h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo