Paramètre de fonction et cast

Résolu
jasmine27 -  
 jasmine27 -
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 741 Date d'inscription   Statut Membre Dernière intervention   101
 
Bonjour,

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

veux tu dire unsigned short et autres ?
0
jasmine27
 
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   Statut Contributeur Dernière intervention   1 846
 
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
jasmine27
 
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   Statut Contributeur Dernière intervention   1 846
 
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
jasmine27
 
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