FORUM Tom's Hardware » Programmation » C / C++ / Java » problème de remplissage de tableau en C
 

problème de remplissage de tableau en C

Il y a 224 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici



Mot :   Pseudo :  
 
Bas de page
Auteur
 Sujet : problème de remplissage de tableau en C
 
Plus d'informations

Bonjour,
je suis en train de faire un programme en C et j'ai un petit problème parce que je voudrais faire un tableau à la taille qui varie (pour n'allouer que la mémoire nécessaire), et je ne veux pas utiliser de pointeurs (valeur->next = un *int ou quelque chose dans le genre)
voila le programme de test que j'ai écrit :

Code :
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. void fonction(int * tableau, int * nb) {
  4.     (*nb)++;
  5.     tableau = (int *)realloc(tableau,(*nb) * sizeof(int));
  6.     tableau[(*nb)-1] = (*nb);
  7.     printf("valeur de nb : %d\n", *nb);
  8. }
  9. int main() {
  10.     int * tableau;
  11.     int nb = 1;
  12.     int i;
  13.     tableau = (int *)calloc(nb, sizeof(int));
  14.     for (i = 0; i<5; i++){
  15.         fonction(tableau, &nb);
  16.     /*    nb++;
  17.         tableau = (int *)realloc(tableau,nb * sizeof(int));
  18.         tableau[nb-1] = nb;*/
  19.     }
  20.     for (i = 0; i<nb; i++){
  21.         printf("numéro %d valeur %d\n", i, tableau[i]);
  22.     }
  23. }



il me rend ça :

valeur de nb : 2
valeur de nb : 3
valeur de nb : 4
valeur de nb : 5
valeur de nb : 6
numÚro 0 valeur 4013720
numÚro 1 valeur 2
numÚro 2 valeur 131074
numÚro 3 valeur 524544
numÚro 4 valeur 4013665
numÚro 5 valeur 0
numÚro 6 valeur 131081

ce qui me fait penser qu'en fait mon tableau est tout pourri et qu'en fait la taille est 0 ou que toutes les valeurs qu'il contient sont nulles...
quand j'exécute les lignes placées en paramètre, je n'ai pas de problèmes, mais je veux faire ces manips dans une fonction.
dans mon vrai programme, les instructions sont mélangées à des conditionnelles et ces instructions sont reprises dans différentes parties de mon programme ce qui m'a amené à faire une fonction (pour ne pas avoir un code crado)
si quelqu'un pouvait m'aider ce serait gentil

Plus d'informations

bon c'est bon j'ai trouvé
c'est qu'en fait le realloc est inutile (en fait je pensais qu'il fallait allouer de la mémoire pile poil pour le nombre de valeurs à retrer mais non en fait)


Aller à :
 
  FORUM Tom's Hardware » Programmation » C / C++ / Java » problème de remplissage de tableau en C

Annonces Google
Publicité
Actualités relatives

Silent Stream amélioré

Publié le 31 January 2004

GlobalWin vient d'annoncer la disponibilité d'une nouvelle version de son kit watercooling Silent Stream, pour mémoire testé ici. Malheureusement, le point le plus catastrophique de ce kit (les performances) reste inchangé, de sorte que les amél Lire la suite

Nouvelle fonctionnalité sur le comparateur de prix

Publié le 26 June 2004

Une nouvelle fonctionnalité fait son apparition dans notre comparateur de prix: la possibilité de comparer les caractéristiques techniques de plusieurs produits du même type. En effet, vous nous avez déjà fait remarquer à plusieurs reprises dans notre fo Lire la suite

Récapitulatif des spécifications des chips graphiques

Publié le 04 December 2003

Le site internet hongrois HWHunpage a mis en ligne un tableau récapitulatif des caractéristiques techniques de l'ensemble des puces graphiques mises sur le marché depuis 1998 par les constructeurs : NVIDIA ATi S3 Trident SiS Rendition 3dfx Am Lire la suite

Bug de l&#039;AGP 8x : ATi communique

Publié le 17 September 2002

ATi vient de publier une page web dédiée au problème de sa Radeon 9700 Pro avec les cartes mères AGP 8x. Seuls les possesseurs de Radeon 9700 Pro dotées de la première révision (l'AE2) rencontr Lire la suite

Les derniers tests

Que choisir ? Home Cinema 5.1 ou projecteur de son ?

Publié le 25 September 2008

Faut-il craquer pour un ensemble 5.1 ou pour une barre de son ? Découvrez les forces et faiblesses comparées de chaque système. Lire la suite

Intel Core i7 (Nehalem) : une architecture signée AMD ?

Publié le 25 September 2008

Avec ses nouveaux processeurs Core i7, Intel fait évoluer les Core 2 en reprenant leur architecture, mais en lui rajoutant des technologies dont la plupart semblent avoir leur équivalent direct chez AMD. Impression ou réalité ? Lire la suite

Test du Nokia N96 : la vie sans écran tactile

Publié le 24 September 2008

Un téléphone haut de gamme peut il échapper à l'écran tactile ? Nokia a tenté le pari avec le N96. Lire la suite

Les nouveaux disques durs 1 To

Publié le 22 September 2008

Un an et demi après l'introduction du premier disque dur 1 To, les prix ont beaucoup diminué et de nouveaux modèles ont été lancés. Mais comment se comportent-ils entre eux et par rapport aux anciens ? Réponse dans ce comparatif. Lire la suite