oui, j'ai un peu de mal a voir comment marche cette fonction. M'enfin bon, j'essayerais quand j'aurais un peu plus de temps
La fonction ne fait que te réserver un espace.
Tu en fais ce que tu veux après.
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas
. »
bidoo Le 04/06/2004 à 22:43 fais en des fonctions , se sera mieux
bidoo Le 05/06/2004 à 10:21 aïe j'avais pas vu mais pour l'agrandissement remlace les && par ||
et qqun pourrait me dire pkoi j'arrive pas a faire ca :
struc ma_structure
{
short c;
short a[c];
};
Parce que ce n'est pas standart.
Tu peux peut-être te débrouiller avec une extensions GNU :
struct ma_structure
{
short c
short a[];
};
Mais la taille indiquée par sizeof(struct ma_struct) sera fausse, et si tu ne pourras pas utiliser de tableau du structures.
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas
. »
Si tu ne veux pas utiliser d'extensions, utilise une taille de 1.
C'est un peu plus chiant par contre, parce qu'il faut retrancher 1 à sizeof(ma_structure) quand tu calcules la taille que tu vas allouer, mais ça marche.
C'est quand même une extension GNU largement supportée (notamment par d'autres compilos pour PC type VC++), et qui est dans le C99...
« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)
La première, surtout pas !
La deuxième à la limite. Mais tu ne pourras pas utiliser la notation [].
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas
. »
J'avais pas bien lu pa première, je croyais que tu ne faisais qu'une allocation.
donc en fait, la première marche, mais est fortement déconseillée sur nos TI, parce que le nombre d'allocations est limité.
Mais en fait, si tu as lu la faq de TIGCC, utilise plutôt la dernière méthode qu'ils proposent, elle est nettement plus élégante.
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas
. »
Et pour la deuxièm, pour accéder aux données, réfléchis, la solution que tu as proposée est absurde : comment différencier l'accès à lélément t[0][1] de l'élément t[1][0] ?
Est-ce que tu sais comment est géré un tableau à plusieurs dimensions par le compilateur ?
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas
. »
bidoo Le 05/06/2004 à 12:28 eu ba ... non
mais je me suis gouré tout a l'heure :
c ca la bonne solution (enfin je l'espere packe quand je la teste ca marche pas vraiment vraiment... )
*(tabl+(n°colonne+n°ligne)*nbdecaractere*sizeof(char)) ;
donc pour le table [1][2]
*(tabl+1*5*sizeof(char)+2*5*sizeof(char));
bidoo Le 05/06/2004 à 13:03 ca a marché une fois
mais apres la ti me dit systematiquement protected memory violation
qu'est ce qu'il ne va pas?