Questions générales C [Forums - Langage C]
Questions générales C [Forums - Langage C]
Pseudo Pass se souvenir de moi     Créer un compte
ARTICLES et TELECHARGEMENTS ~ FORUMS ~ LIENS  
 
             
 
Recherche
 
   
 

Parcourir ce sujet :   1 Utilisateur(s) anonymes



« 1 ... 8 9 10 (11)


Re: Questions générales C
Accro
Inscrit:
06/07/2007 09:17
Messages: 697
Hors Ligne
Dinastar, si cela peut t'éclaircir, la fonction printf() est une fonction elliptique.
Cependant, le nombre variable d'argument revient à faire du tas...

Posté le : 28/06/2016 08:08
Transférer la contribution vers d'autres applications Transférer


Re: Questions générales C
Pilier de la communauté
Inscrit:
27/09/2005 18:07
De Metz
Messages: 1354
Hors Ligne
Citation :
Cependant, le nombre variable d'argument revient à faire du tas...
Pas forcément. Les arguments passent par la pile, et la fonction peut utiliser un tableau statique de dimension suffisante pour les stocker.

Posté le : 28/06/2016 09:41
Transférer la contribution vers d'autres applications Transférer


Re: Questions générales C
Accro
Inscrit:
28/09/2005 14:02
De Catalunya (66)
Messages: 581
Hors Ligne
Iko, Jacques,

Désolé mais je ne comprend pas. Et je n'ai jamais utilisé la fonction printf().

Pourtant, c'est vrai que je la vois souvent dans les cours pour afficher des résultats ??

Posté le : 28/06/2016 09:50
Les octets s'envolent, les écrits restent !
Transférer la contribution vers d'autres applications Transférer


Re: Questions générales C
Accro
Inscrit:
06/07/2007 09:17
Messages: 697
Hors Ligne
Normalement quand tu déclare une fonction, tu la déclare avec une nombre DEFINI de paramètres.
Fct(int P1, int P2, int P3).

Du coup tu es obliger d'utiliser ta fonction avec le nombre de paramètre définie.

Les fonctions elliptique te permette d'utiliser tes fonctions avec un nombre de paramètre non définie...
tu pourrais utiliser cette méthode pour passer 1 ou plusieurs STRING par exemple avec un seul appel, et sans changer de prototype de fonction...

Lcd_Print(CLEAR_DISPLAY);
Lcd_Print(CLEAR_DISPLAY,FULL_DISPLAY,CLEAR_DISPLAY,HELLO_WORD);


Posté le : 28/06/2016 10:30
Transférer la contribution vers d'autres applications Transférer


Re: Questions générales C
Accro
Inscrit:
28/09/2005 14:02
De Catalunya (66)
Messages: 581
Hors Ligne
Ok je comprend mieux. Et comment dois-je m'y prendre concrètement ?

Bon en même temps, la ça tourne bien avec un remplissage de mon tableau à l'aide d'une boucle for.

Posté le : 28/06/2016 11:21
Les octets s'envolent, les écrits restent !
Transférer la contribution vers d'autres applications Transférer


Re: Questions générales C
Pilier de la communauté
Inscrit:
27/09/2005 18:07
De Metz
Messages: 1354
Hors Ligne
Citation :
Et comment dois-je m'y prendre concrètement ?
Un exemple:

#include <stdarg.h>

void f(unsigned char nb_param, ...)  
{
    
int i;
    
unsigned char buffer[256];
    
va_list parameter;
    
va_start(parameternb_param);

    for (
0nb_parami++)
        
buffer[i] = va_arg(parameterunsigned char);
    
// le buffer est prêt. On en fait ce qu'on veut
    //etc.

    
va_end(parameter);
}

int main()
{
// ... exemples d'appel:
    
f(10x55); // le 1er paramètre est égal au nombre de données qui suivent
    
f(5083421102);
// etc.
}

Posté le : 29/06/2016 11:06
Transférer la contribution vers d'autres applications Transférer


Re: Questions générales C
Accro
Inscrit:
28/09/2005 14:02
De Catalunya (66)
Messages: 581
Hors Ligne
Salut Jacques,

C'est bien ce que je recherche, et j'ai fait quelque chose de similaire. Merci pour ce bout de code

Posté le : 30/06/2016 11:14
Les octets s'envolent, les écrits restent !
Transférer la contribution vers d'autres applications Transférer


Re: Questions générales C
Pilier de la communauté
Inscrit:
27/09/2005 18:07
De Metz
Messages: 1354
Hors Ligne
Pas de quoi

Posté le : 30/06/2016 14:17
Transférer la contribution vers d'autres applications Transférer



 Haut   Précédent   Suivant
« 1 ... 8 9 10 (11)



Vous pouvez voir les sujets.
Vous ne pouvez pas débuter de nouveaux sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

[Recherche avancée]


Powered by XOOPS© The XOOPS Project
Contacter les administrateurs

Questions générales C [Forums - Langage C]