Paramètre de fonction et cast
Résolu
jasmine27
-
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 :)
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:
- Paramètre de fonction et cast
- Fonction si et - Guide
- Remettre parametre usine pc - Guide
- Parametre dns - Guide
- Parametre windows - Guide
- Netflix paramètre compte - Guide
6 réponses
Bonjour,
Ces types n'existent pas : https://en.wikipedia.org/wiki/C_data_types
veux tu dire unsigned short et autres ?
Ces types n'existent pas : https://en.wikipedia.org/wiki/C_data_types
veux tu dire unsigned short et autres ?
Si si ces types existent en programmation bas niveau, ils veulent dire unsigned type ; par exemple ushort == unsigned short :)
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 ;-).
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 ;-).
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 :)
Sinon voilà grâce à toi je suis enfin sur les bonnes rails :)
Merci beaucoup :)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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,
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,