JEUX DE MÉMOIRE, SANS POINTEURS!

vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 - 25 févr. 2006 à 18:27
kikaanouar Messages postés 13 Date d'inscription lundi 13 mars 2006 Statut Membre Dernière intervention 11 avril 2006 - 11 avril 2006 à 22:51
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/36253-jeux-de-memoire-sans-pointeurs

kikaanouar Messages postés 13 Date d'inscription lundi 13 mars 2006 Statut Membre Dernière intervention 11 avril 2006
11 avril 2006 à 22:51
merci pour le projet mais j ai pas trouver des bibliotheques
esselfe Messages postés 1 Date d'inscription lundi 27 novembre 2000 Statut Membre Dernière intervention 26 février 2006
26 févr. 2006 à 21:34
Merci à tous!
Ainsi je ne regrette pas d'avoir publié cette source.
Au départ je ne comprennais pas ce que voulais dire aligner la structure...
Et le `jeux`de pointeurs me parait une chose interessante...
Cette source est l'issu d'un 'Contest' avec ma soeur...

Vive cppfrance!
a++
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
26 févr. 2006 à 18:06
Certes le compilo devrait avoir aligné les données correctement mais ce n'est pas une raison pour s'y fier, d'autant plus qu'on n'est pas chez VB, qu'il doit apprendre correctement et que le compilo les laissera à leur place, ce qui fera augmenter inutilment la taille de la struct.
Pour t'en convaincre, l'originale sizeof(GRIDA) 12 alors que refaite correctement GRIDB 8:

typedef struct _GRIDA {
char coox;
char cooy;
int value;
bool flag;
} GRIDA;

typedef struct _GRIDB {
int value;
bool flag;
char coox;
char cooy;
} GRIDB;

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE x, PSTR y, int z)
{
char buf[12];
ultoa(sizeof(GRIDA), buf, 10);
MessageBox(0, buf, "GRIDA", 0);

ultoa(sizeof(GRIDB), buf, 10);
MessageBox(0, buf, "GRIDB", 0);

return 0;
}
DeAtHCrAsH Messages postés 2670 Date d'inscription vendredi 25 janvier 2002 Statut Membre Dernière intervention 6 février 2013
26 févr. 2006 à 17:49
vecchio> A ce stade je doute que l'alignement des pointeurs soit une nécéssité. De plus certains compilo le font en auto.
Sinon pour les 4 mois il est vrai que ca fait un peu long... Peut etre un projet scolaire?
le_duche Messages postés 159 Date d'inscription lundi 13 juin 2005 Statut Membre Dernière intervention 26 février 2009
26 févr. 2006 à 00:38
Petite note technique (de pinailleur...):
poss_char, flag_cart, pp, tmp_cart, g,... sont des pointeurs. Mais ils ne sont pas exprimés comme tels.
Tu peux faire l'expérience de compiler ceci:

int test[25];
test[0] = 47;
test[1] = 151;
test[11] = 99;
cout << *test;
test++;
cout << *test;
cout << *(test+10);

et tu verra que test est bien un pointeur de type int*


Sur ce, bonne prog à tous !
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
25 févr. 2006 à 18:27
Et tu as fait quoi entre le moment ou tu as commencé ce "projet" et celui ou tu l'a terminé?
4 mois pour ca, ça me semble plutot long
En plus tu as oublié certaines choses, comme aligner ta structure
Rejoignez-nous