A voir également:
- Exercice sur les structures en c
- Transmath 3eme exercice ✓ - Forum Études / Formation High-Tech
- Corrigé d'un exercice du livre transmaths 3e - Forum Loisirs / Divertissements
- Corrigés 350 exercices niveau moyen ✓ - Forum Loisirs / Divertissements
- Fleur d'encre 5eme corrigé exercice ✓ - Forum PDF
- Cahier transmath 3° ex 6p37, 6et7p27 et 5p65 svp c'est urgent! ✓ - Forum Études / Formation High-Tech
2 réponses
Bonjour,
Voici quelque exemple pour t'aidé à comprendre,
pour les experts corrigé moi si je me trompe
à bientôt
Voici quelque exemple pour t'aidé à comprendre,
pour les experts corrigé moi si je me trompe
à bientôt
#include <stdio.h>
/***
* Structure
***/
struct s_Struct{
int valeur;
};
/***
* Autres types de structure
***/
typedef struct{
int valeur;
}ts_Struct;
/***
* Fonction d'ajout des valeurs
***/
void f_AddValeur_A(struct s_Struct *pIn, int val){
pIn->valeur = val;
}
void f_AddValeur_B(ts_Struct *pIn, int val){
pIn->valeur = val;
}
/***
* Programme principale
***/
int main( void ) {
struct s_Struct s_1;
ts_Struct s_2;
/* Premier cas d'affectation */
s_1.valeur = 10;
s_2.valeur = 20;
printf("s_1 = %d\n",s_1.valeur);
printf("s_2 = %d\n",s_2.valeur);
/* Deuxième cas indirections */
(&s_1)->valeur = 30;
(&s_2)->valeur = 40;
printf("&s_1 = %d\n",(&s_1)->valeur);
printf("&s_2 = %d\n",(&s_2)->valeur);
/* Avec fonction */
f_AddValeur_A(&s_1, 50);
f_AddValeur_B(&s_2, 60);
printf("*s_1 = %d\n",(&s_1)->valeur);
printf("*s_1 = %d\n",(&s_2)->valeur);
return ( 0 );
}
ecrire une fonction qui prend en entré une structures.
Pas en entrée, mais en paramètre, non ?
Si on prend à la lettre la question, il n'est pas question d'adresse d'une structure
Au cas où voici une possibilité par copie
La solution proposée précédemment est meilleure, mais faut savoir que celle-ci existe aussi.
Pas en entrée, mais en paramètre, non ?
Si on prend à la lettre la question, il n'est pas question d'adresse d'une structure
Au cas où voici une possibilité par copie
#include <stdio.h>
struct s_Struct{
int valeur;
};
struct s_Struct f_AddValeur_A(struct s_Struct pIn, int val);
int main(void)
{
struct s_Struct s_1;
s_1.valeur = 10;
s_1 = f_AddValeur_A(s_1, 2);
printf("%d\n", s_1.valeur); /* 12 */
return 0;
}
struct s_Struct f_AddValeur_A(struct s_Struct pIn, int val)
{
struct s_Struct s;
s.valeur = pIn.valeur + val;
return s;
}
La solution proposée précédemment est meilleure, mais faut savoir que celle-ci existe aussi.