Structure sur G850

Ici, on fait dans le petit, le LCD qui déchire sa race, on y cause même calculatrices quand on est en manque !

Modérateur : Politburo

Avatar de l’utilisateur
gege
Fonctionne à 14400 bauds
Fonctionne à 14400 bauds
Messages : 7180
Inscription : 31 janv. 2008 15:24
Localisation : Banlieue Paârisienne
Contact :

Re: Structure sur G850

Message par gege » 22 août 2010 15:33

pir2 a écrit :
charognard a écrit :Non dans les 3 bouquins de C que j'ai chez moi (dont la bible).
l'implémentation par valeur fait parti du standard C
OK, je suis vraiment rouillé alors ;)
Moi aussi, je pensais que c'était carrément impossible. On m'aurait menti toutes ces années ?? :D
Il ne faut pas oublier que C est un 'petit' langage simple : pas de mots-clef d'entrée-sortie (ce qui finalement est logique - ok printf, mais c'est dans la bibliothèque), etc.
A+
G.E.

Avatar de l’utilisateur
charognard
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 4411
Inscription : 06 juin 2007 19:28
Localisation : Indre et loire
Contact :

Re: Structure sur G850

Message par charognard » 22 août 2010 19:27

c'est une blague hein?

Avatar de l’utilisateur
charognard
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 4411
Inscription : 06 juin 2007 19:28
Localisation : Indre et loire
Contact :

Re: Structure sur G850

Message par charognard » 22 août 2010 20:58

Par exemple se code marche nickel

Code : Tout sélectionner

10 struct registre{
20      double x,y,z,t;};
30 main(){
40      struct registre pile1,pile2;
50      pile1.x=1,pile1.y=2,pile1.z=3,pile1.t=4;
60      pile2=pile1;
70      printf("\npile: %g %g %g %g",pile2.x,pile2.y,pile2.z,pile2.t);
80 }
on (c'est à dire moi) pourrait penser que ce code au standard C marchera aussi

Code : Tout sélectionner

10 struct registre{
20      double x,y,z,t;};
30 main(){
40      struct registre pile1;
50      void affpile( struct registre); /*prototype*/
60      pile1.x=1,pile1.y=2,pile1.z=3,pile1.t=4;
70      affpile(pile1);
80 }
100 void affpile(struct registre pile2){
110    printf("\npile: %g %g %g %g",pile2.x,pile2.y,pile2.z,pile2.t);
120 }
Et bien NON, et je ne vois pas le pourquoi !!!
en effet entre la copie et le passage par valeur c'est kif-kif

Avatar de l’utilisateur
gege
Fonctionne à 14400 bauds
Fonctionne à 14400 bauds
Messages : 7180
Inscription : 31 janv. 2008 15:24
Localisation : Banlieue Paârisienne
Contact :

Re: Structure sur G850

Message par gege » 23 août 2010 08:22

Ah ben voilà, tu ne peux pas passer des structures en paramètre !!
C'est bien ce que je pensais.
Ouf, je croyais être devenu gâteux...
G.E.

EDIT : c'est possible en C++ avec les "références" mais ce n'est qu'une apparence maintenue trompeusement par le compilateur, derrière ton dos il passe un pointeur...

Avatar de l’utilisateur
charognard
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 4411
Inscription : 06 juin 2007 19:28
Localisation : Indre et loire
Contact :

Re: Structure sur G850

Message par charognard » 23 août 2010 08:51

C'EST AUSSI POSSIBLE EN C (le code précédent)
mais pas sur sharp G850


regarde là par exemple
http://www.java2s.com/Code/C/Structure/ ... nction.htm


Cependant en cherchant à droite et à gauche sur le net je vois que je ne suis pas le seul sur Sharp et quelque autre C ne le gère pas non plus.

Avatar de l’utilisateur
charognard
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 4411
Inscription : 06 juin 2007 19:28
Localisation : Indre et loire
Contact :

Re: Structure sur G850

Message par charognard » 23 août 2010 09:27

je viens en effet d'essayer ce code sous DEVC++ (en C :wink: )

Code : Tout sélectionner

#include <stdio.h>
#include <stdlib.h>
struct registre{
     double x,y,z,t;};
void affpile(struct registre pile2){
    printf("\npile: %g %g %g %g",pile2.x,pile2.y,pile2.z,pile2.t);
}
int main(int argc, char *argv[])
{
    struct  registre pile1;
    void affpile( struct registre); /*prototype*/
    pile1.x=1,pile1.y=2,pile1.z=3,pile1.t=4;
    affpile(pile1);
    system("PAUSE");	
    return 0;
}
ça fonctionne très bien

Avatar de l’utilisateur
gege
Fonctionne à 14400 bauds
Fonctionne à 14400 bauds
Messages : 7180
Inscription : 31 janv. 2008 15:24
Localisation : Banlieue Paârisienne
Contact :

Re: Structure sur G850

Message par gege » 23 août 2010 22:07

OK, eh bien tu es persistant dans tes efforts !
Et je me couche moins c** ce soir...
J'aimerais bien voir le code objet généré par ce truc, ça doit être terrible.
M'enfin on ne le voit jamais...
A+
G.E.

Avatar de l’utilisateur
charognard
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 4411
Inscription : 06 juin 2007 19:28
Localisation : Indre et loire
Contact :

Re: Structure sur G850

Message par charognard » 23 août 2010 22:57

gege a écrit :OK, eh bien tu es persistant dans tes efforts !
Et je me couche moins c** ce soir...
J'aimerais bien voir le code objet généré par ce truc, ça doit être terrible.
M'enfin on ne le voit jamais...
A+
G.E.
Si tu insistes je peux te le mettre :D

Avatar de l’utilisateur
pir2
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 4594
Inscription : 31 oct. 2006 16:08
Localisation : 67310 Westhoffen
Contact :

Re: Structure sur G850

Message par pir2 » 24 août 2010 11:08

D'un autre côté, u as utilisé un compilateur C++, même s'il prétend compiler également du C, c'est peut-être déjà du C "amélioré".

Faudrait voir avec un vieux compilateur C de la première génération.
Enfin, ce que j'en dis, rouillé comme je suis (et j'ai que du java sous la main, on est loin du C).
Image
Image

Avatar de l’utilisateur
charognard
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 4411
Inscription : 06 juin 2007 19:28
Localisation : Indre et loire
Contact :

Re: Structure sur G850

Message par charognard » 24 août 2010 11:21

t'es tétu toi !!! :D
c'est de la syntaxe standard C et un compilateur C normal

Avatar de l’utilisateur
pir2
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 4594
Inscription : 31 oct. 2006 16:08
Localisation : 67310 Westhoffen
Contact :

Re: Structure sur G850

Message par pir2 » 24 août 2010 11:28

charognard a écrit :t'es tétu toi !!! :D
Cà m'arrive ;)
Image
Image

Répondre

Revenir vers « Tous les Pockets »