Paramètre de fonction et cast

Résolu/Fermé
jasmine27 - 11 janv. 2014 à 17:11
 jasmine27 - 11 janv. 2014 à 22:29
Bonjour à tous,

Je sais que ma question peut un peu paraître idiote, mais j'ai besoin de m'éclaircir les idées sur ce point s'il vous plait:

Supposons que j'ai une fonction : void fonction ( ushort x)

et que j'ai ce scénario :

uint x;
ubyte y;
y=(ubyte)x;

Est ce que cette instruction sera exécutée, voir même compilée ?

fonction(y);

Si je pose cette question, c'est en allant du principe que même si y est un ubyte, il peut être validé comme paramètre puisqu'il est contenu dans le type ushort.

Merci d'avance :)
A voir également:

6 réponses

seabust Messages postés 740 Date d'inscription lundi 10 mars 2008 Statut Membre Dernière intervention 30 juillet 2015 101
11 janv. 2014 à 17:20
Bonjour,

Ces types n'existent pas : https://en.wikipedia.org/wiki/C_data_types

veux tu dire unsigned short et autres ?
0
Si si ces types existent en programmation bas niveau, ils veulent dire unsigned type ; par exemple ushort == unsigned short :)
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
11 janv. 2014 à 21:54
Les seuls types qui existent sont ceux définis par le standard.
Tous les autres ne sont pas portables et dépendent de la plateforme.

Donc non, ça n'existe pas.

Sinon, pour répondre à ta question, oui cela fonctionnera ;-).
0
Ces types de variables sont utilisés pour la programmation en C orientée électronique :)

Sinon voilà grâce à toi je suis enfin sur les bonnes rails :)

Merci beaucoup :)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
11 janv. 2014 à 22:26
Il n'y a pas de standard orienté électronique. Il n'y a qu'un seul standard (l'ISO) : C89/90, C99.
Tous les autres sont définis lors de la compilation. D'ailleurs, si tu compiles avec l'option -E (dans gcc), tu verras bien qu'il y a un typedef quelque part vers unsigned char pour le cas du uchar :-).

Cdlt,
0
Je vois :)

En tout cas, pour programmer mon microcontrolleur, j'utilise ces types. Peut être justement, que si je faisais un tour dans les .h des includes, je trouverai un typedef par exemple quelque part.

Merci encore une fois :)
0