30

rotfl
S'il le fait avec un tableau de NINJAs le tableau sera plus gros (sa structure pouvant atteindre 14 octets) qu'un tableau de pointeurs.
avatar
Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.

31

oui mais les pointeurs, ils pointent bien vers une structure !!!! winkwink donc la place est prise encore.
Non-Webmaster et non-programmeur du site. .Pour tout probleme ou question ,débrouillez vous avec les Webmasters .

«- Pas Moo ! ^^

32

Oulà grin

3 variables NINJAs et 1 tableau de 3 NINJAs : 3*sizeof(NINJA) + 3*sizeof(NINJA) = 2*3*14 = 84 octets

3 variables NINJAs et 1 tableau de pointeurs : 3*sizeof(NINJA) + 3*4 = 3*14 + 3*4 = 54 octets
avatar
Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.

33

Tableau de NINJAs : 3*sizeof(NINJA) + 3*sizeof(NINJA) = 2*3*14 = 84 octets


oula, y'a un truc que j'ai pas saisi au niveau de la taille pour les tableaux de structures là.

3 éléments, donc 3* sizeof(NINJA) plus 4 octets pour le pointeur non ?

donc 46 octets en tout ?
Non-Webmaster et non-programmeur du site. .Pour tout probleme ou question ,débrouillez vous avec les Webmasters .

«- Pas Moo ! ^^

34

oula ok, on parle pas de la même chose gringrin

je viens de capter wink

moi je parle d'un tableau direct, qu'on déclare comme cela :

NINJA tab_ninja[3];

et là, la taille est bien de 42 + 4 octets en tout ! wink

erf, je viens d'apprendre qu'en ASM pur pour un tableau il n'y a pas forcement un pointeur déclaré
Non-Webmaster et non-programmeur du site. .Pour tout probleme ou question ,débrouillez vous avec les Webmasters .

«- Pas Moo ! ^^

35

nan, 42 tout court. Les tableaux ne sont pas des pointeurs !
[pub]Je crois que tu as besoin d'aller faire un tour ici : http://www.kouette.com/~neurone/ti-fr/pointeurs.php3[/pub] grin
avatar
Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.

36

Les tableaux ne sont pas des pointeurs ??? triso

char nom[] = "Kiko"; va bien déclarer un pointeur qui pointera vers le 'K' nan ? confus
Non-Webmaster et non-programmeur du site. .Pour tout probleme ou question ,débrouillez vous avec les Webmasters .

«- Pas Moo ! ^^

37

enfin, je ne dit pas que le contenu est un pointeur, mais le "moyen d'acces" (je connais pas le nom exact) en est un !
Non-Webmaster et non-programmeur du site. .Pour tout probleme ou question ,débrouillez vous avec les Webmasters .

«- Pas Moo ! ^^

38

Thibaut
a écrit : Les tableaux ne sont pas des pointeurs !


Ben pour C si ... car un tableau est une pointeur constant:

tab[i] <=> *(tab + i)


39

Pim89 : Absolument pas ! dans ton exemple, nom est un tableau de 5 éléments qui contiennent respectivement {'k', 'i', 'k', 'o', 0}.

[pub]Va lire ce magnifique tuto : http://www.kouette.com/~neurone/ti-fr/pointeurs.php3 grin[/pub]

nEUrONe : je le sais, [pub]c'est même écrit dans ce magnifique tuto : http://www.kouette.com/~neurone/ti-fr/pointeurs.php3 grin[/pub]
avatar
Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.

40

Thibaut a écrit :
Absolument pas ! dans ton exemple, nom est un tableau de 5 éléments qui contiennent respectivement {'k', 'i', 'k', 'o', 0}.

[pub]Va lire ce magnifique tuto : http://www.kouette.com/~neurone/ti-fr/pointeurs.php3 grin[/pub]


post 36 ... roll

appelle le 'tableau' si tu veux, mais c'est un pointeur qui pointe vers le 1er élement du tableau, et ça tu ne peux pas le contredir (dsl si je n'emplois pas le voc exact pour tout ça).

Et arrête de te la peter à croire que je suis qu'un gros nioubi, et que toi tu es un dieu.
Non-Webmaster et non-programmeur du site. .Pour tout probleme ou question ,débrouillez vous avec les Webmasters .

«- Pas Moo ! ^^

41

oki.

42

Pim89 a écrit :
char nom[] = "Kiko"; va bien déclarer un pointeur qui pointera vers le 'K' nan ? confus


et en plus je n'ai pas dit "nom est un pointeur", mais le "moyen d'acces" au éléments est un pointeur qui pointe par défaut sur le 1er élément (si tu avais lu convenablement au lieu de faire de la pub pour ton tuto)
Non-Webmaster et non-programmeur du site. .Pour tout probleme ou question ,débrouillez vous avec les Webmasters .

«- Pas Moo ! ^^

43

hé ho du calme je déconne !!!

De plus je te signale que j'ai écrit le post #38 sans avoir vu le #36.
avatar
Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.

44

C'est ton chat qui te rend si susceptible ?
avatar
Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.

45

Non, il dort (pour une fois) gringrin
Non-Webmaster et non-programmeur du site. .Pour tout probleme ou question ,débrouillez vous avec les Webmasters .

«- Pas Moo ! ^^

46

Mhh c'est tout mignon ça love
Essaie de le placer dans le micro-ondes sans le réveiller et allume le truc oui
avatar
Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.

47

apres, il sera plus beau, plus doux ... smile une vrai oeuvre d'art grin

48

Il s'est reveillé et il est fou ! grin
Non-Webmaster et non-programmeur du site. .Pour tout probleme ou question ,débrouillez vous avec les Webmasters .

«- Pas Moo ! ^^

49

ben domage pour le micro-onde... couic ... rotfl

50

redangel17 a écrit :
euh bon. merci.

on continue: HELP! plz bien sûrhappy

typedef struct {
int xninja, yninja; // abcisses dans tabeau
// int num[10]; // nom du perso

}NINJA; // NINJA == type de la struc, comme "short" ou "char"

NINJA ninja1; // déclare
NINJA ninja2; // 3 ninjas
NINJA ninja3;

unsigned long ninjalist[] = { ninja1, ninja2, ninja3};


et une belle erreur de compilation:
Initializer element is ont constant doisje comprendre(tt seul com un grand...) ke l'on ne peut faire une liste avec des structures?

Non. Ton code est faux.
Je signale aussi à Pim89 et Thibaut que leurs "corrections" ne marcheront pas mieux que ton code pour un tableau global!

Il y a 2 solutions:
1.
typedef struct { 
int xninja, yninja; // abcisses dans tabeau 
// int num[10]; // nom du perso 

}NINJA; // NINJA == type de la struc, comme "short" ou "char" 

NINJA ninja1; // déclare 
NINJA ninja2; // 3 ninjas 
NINJA ninja3; 

NINJA *(ninjalist[]) = {&ninja1, &ninja2, &ninja3};

2.
typedef struct { 
int xninja, yninja; // abcisses dans tabeau 
// int num[10]; // nom du perso 

}NINJA; // NINJA == type de la struc, comme "short" ou "char" 

NINJA ninjalist[3]; // Ça crée déjà 3 ninjas, pas la peine d'avoir ninja1, ninja2 et ninja3 en plus.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

51

Ma solution fonctionne mis à part qu'on ne peut pas initialiser le contenu du tableau à la compilation, c'était là mon erreur. Toujours aussi sympathique le Kevin grin
avatar
Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.

52

Pim89 a écrit dans le post #33:
erf, je viens d'apprendre qu'en ASM pur pour un tableau il n'y a pas forcement un pointeur déclaré


Raaaaaaaaaaaaaaaaahhhhh ! sicksicksicktriso
C'est moi où il a toujours rien compris !!
Quand tu fais char tableau[3] = {1,2,3} , il n'y a pas de place qui est réservée au pointeur ! Dans ton executable il y aura les trois valeurs, et c'est tout ! Il y aura pas de variables qui contiendra l'adresse du premier élement !
Vous me dites si je me trompe quand même !
avatar
;)

53

Pim89 a écrit :
si, sauf que les types ne sont pas bons. wink

NINJA est le type de ta structure, donc le tableau devra être de type NINJA, et pas "unsigned long". wink

pour déclarer un tableau de structure (NINJA)

NINJA tab_ninja[3];


Kevin Kofler a écrit :
Je signale aussi à Pim89 et Thibaut que leurs "corrections" ne marcheront pas mieux que ton code pour un tableau global!

2.
typedef struct { 
int xninja, yninja; // abcisses dans tabeau 
// int num[10]; // nom du perso 

}NINJA; // NINJA == type de la struc, comme "short" ou "char" 

[u][b]NINJA ninjalist[3]; [/b][/u]// Ça crée déjà 3 ninjas, pas la peine d'avoir ninja1, ninja2 et ninja3 en plus.


lol, ma solution marchait très bien puisque c'est celle que tu as donné juste ensuite. winkgrin
Non-Webmaster et non-programmeur du site. .Pour tout probleme ou question ,débrouillez vous avec les Webmasters .

«- Pas Moo ! ^^

54

pim> merci, je sui bête, en + avec les bgs javais déjà fait ça...tsss faudrait ke je réfléchisse +.....

euh...tablo de pointeurs== long ninjalist[] = { *ninja1, *ninja2, *ninja3};
c ça?
est-ce ke ça marcherait ça ou pas?

merci tt le mondehappy
avatar
Attention, nouvelle signature #eeek#
https://mastodon.ti-fr.com/@redangel

55

long *ninjalis[]

56

Pim89 a écrit :
lol, ma solution marchait très bien puisque c'est celle que tu as donné juste ensuite. winkgrin

Oui, mais on ne peut pas mettre:
tab_ninja[0].xninja = abscisse;
tab_ninja[0].xninja = ordonnée;

en dehors d'une fonction. grin C'est à mettre dans _main, ce que tu n'as pas fait.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

57

Erf kevin, ça sautait au yeux ça !!!! grin

au pire, même s'il avait eu la mauvaise idée de mettre ça en dehors d'une fonction, il aurait bien vu une erreur ...
Non-Webmaster et non-programmeur du site. .Pour tout probleme ou question ,débrouillez vous avec les Webmasters .

«- Pas Moo ! ^^

58

Kevin Kofler a écrit :
Oui, mais on ne peut pas mettre:
tab_ninja[0].xninja = abscisse;
tab_ninja[0].xninja = ordonnée;

en dehors d'une fonction. grin C'est à mettre dans _main, ce que tu n'as pas fait.

ça veut dire coa, ça?????? on peut pa modifier les valeurs d'une structure autre part ke ds _main? ceci-dit c ce ke g fait; regardez où jen sui:

EDIT: c bon, g compriwink
avatar
Attention, nouvelle signature #eeek#
https://mastodon.ti-fr.com/@redangel

59

redangel17
a écrit : ça veut dire coa, ça?????? on peut pa modifier les valeurs d'une structure autre part ke ds _main?

Tu peux les modifier dans n'importe quelle fonction, mais pas en dehors d'une fonction!
Ce que tu peux faire, c'est de donner une valeur initiale, directement après la déclaration.
Mais attention sache que cette valeur n'est pas retenue entre 2 exécutions si le programme n'est ni archivé, ni compressé.
ceci-dit c ce ke g fait; regardez où jen sui: alor?

Mets quelque chose du genre:
NINJA ninjalist[3]={{200,60},{500,60},{800,60}};
(à la place de NINJA ninjalist[3];)
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

60

redangel17 #53 : mais non !!! ce sont des pointeurs vers des structures NINJA donc le tableau de pointeur se déclare NINJA *ninjalist[] = {&ninja1, &ninja2, &ninja3} eek
avatar
Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.