Typedef et string
Fermé
1999-pythagore
-
10 nov. 2019 à 10:55
[Dal] Messages postés 6198 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 13 décembre 2024 - 12 nov. 2019 à 14:36
[Dal] Messages postés 6198 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 13 décembre 2024 - 12 nov. 2019 à 14:36
3 réponses
yg_be
Messages postés
23405
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
20 décembre 2024
Ambassadeur
1 557
Modifié le 10 nov. 2019 à 14:17
Modifié le 10 nov. 2019 à 14:17
bonjour,
ce que tu as écrit (typedef string tab[lassets+1]) définit un nouveau type, nommé tab, comme un tableau de lassets+1 string.
si tu veux définir le type string comme un tableau de lassets+1 entiers sur 1 octet, tu dois te répondre à la question suivante:
comment déclarer une variable nommée string, étant un tableau de lassets+1 entiers sur 1 octet?
quand tu auras trouvé la réponse, il te sera facile d'écrire le typedef.
ce que tu as écrit (typedef string tab[lassets+1]) définit un nouveau type, nommé tab, comme un tableau de lassets+1 string.
si tu veux définir le type string comme un tableau de lassets+1 entiers sur 1 octet, tu dois te répondre à la question suivante:
comment déclarer une variable nommée string, étant un tableau de lassets+1 entiers sur 1 octet?
quand tu auras trouvé la réponse, il te sera facile d'écrire le typedef.
ma réponse serait:
string = int tab[LASSETS+1]
ou
string = char tab[LASSETS+1]
string = int tab[LASSETS+1]
ou
string = char tab[LASSETS+1]
yg_be
Messages postés
23405
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
20 décembre 2024
1 557
10 nov. 2019 à 15:17
10 nov. 2019 à 15:17
ne devrais-tu pas d'abord faire des exercices plus simples?
dans quel contexte fais-tu cela? consultes-tu une documentation?
dans quel contexte fais-tu cela? consultes-tu une documentation?
yg_be
Messages postés
23405
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
20 décembre 2024
1 557
>
1999-pythagore
10 nov. 2019 à 15:42
10 nov. 2019 à 15:42
quelle est l'instruction en C pour déclarer une variable nommée string, étant un tableau de lassets+1 entiers sur 1 octet?
[Dal]
Messages postés
6198
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
13 décembre 2024
1 096
Modifié le 12 nov. 2019 à 12:00
Modifié le 12 nov. 2019 à 12:00
Bonjour 1999-pythagore,
Juste un mot additionnel aux remarques des contributeurs à ce fil.
En C, les
Sur le plan du style de programmation, à mon sens, les programmeurs C ne devaient en faire un usage que très exceptionnellement, par exemple pour faciliter l'usage de types vraiment complexes, car ils ont l'inconvénient de masquer l'information sur le type réel utilisé.
Un autre usage légitime est pour la définition de types opaques pour le programmeur. Là, l'opacité créée par l'usage du
http://www.cplusplus.com/reference/cstdio/FILE/
Utiliser un
Dal
Juste un mot additionnel aux remarques des contributeurs à ce fil.
En C, les
typedefne servent qu'à créer des alias sur des types existants ou des types définis par l'utilisateur. Ils ne créent pas réellement de nouveaux types.
Sur le plan du style de programmation, à mon sens, les programmeurs C ne devaient en faire un usage que très exceptionnellement, par exemple pour faciliter l'usage de types vraiment complexes, car ils ont l'inconvénient de masquer l'information sur le type réel utilisé.
Un autre usage légitime est pour la définition de types opaques pour le programmeur. Là, l'opacité créée par l'usage du
typedefest intentionnelle, le programmeur n'étant pas sensé connaître le type réel, car il est utilisé par une bibliothèque qui s'en charge pour lui et le programmeur n'est pas sensé intervenir directement sur les données gérées au travers de ce type : il n'utilise le type opaque qu'au travers des fonctions qui sont mises à sa disposition par la bibliothèque. Un exemple est le "type"
FILEqui est en réalité un
typedefsur une structure opaque définie par la bibliothèque standard du C dans stdio.h
http://www.cplusplus.com/reference/cstdio/FILE/
Utiliser un
typedefpour définir un alias sur un type simple comme un tableau de char avec une certaine dimension ne me paraît pas être une pratique conseillée, à moins qu'il ne s'agisse d'un exercice et que l'on doive répondre à une question théorique d'application d'un cours posée par un enseignant :-)
Dal
[Dal]
Messages postés
6198
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
13 décembre 2024
1 096
12 nov. 2019 à 14:36
12 nov. 2019 à 14:36
Sinon, comme tu parles de "chaussures", je supposes que tu parlerais de "lacets" plutôt que de "lassets" ;-)