begin process at 2010 03 12 05:37:39
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

déclaration d'un pointeur sur un entier


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

déclaration d'un pointeur sur un entier

jeudi 23 mars 2006 à 11:28:47 | déclaration d'un pointeur sur un entier

iam_myst

bonjour à tous

j'aimerais savoir s'il est possbile de faire ceci:
     int *tabcle = new int[56], *final = new int[48];


personellement ca me provoque cette erreur:
    *** glibc detected *** malloc(): memory corruption: 0x0804c2f0 ***
    Abandon

( cette erreur est générée a l'execution, aucune erreur de compilation )

Merci

jeudi 23 mars 2006 à 12:15:02 | Re : déclaration d'un pointeur sur un entier

pofipofo

Salut,
moi j'ai pas de problème si je tape cette ligne!
En revanche ton erreur dois venir de l'utilisation de la fonction malloc().
Tu l'utilise comment dans ton prog?


Qui vole un boeuf est vachement fort!

jeudi 23 mars 2006 à 12:21:37 | Re : déclaration d'un pointeur sur un entier

iam_myst

arf jamais je n'utilise la fonction malloc()

pourtant je suis presque sure que l'erreur vient de la, car je fais un afficage juste avant et juste après, pour vérifier :'(

c'est bizarre
le fait que la déclaration se trouve dans une fonction de cette forme ne pose pas de problème? :
    int * lafonction( char *ch, int dec )


merci de ta réponse
jeudi 23 mars 2006 à 12:24:29 | Re : déclaration d'un pointeur sur un entier

DeAtHCrAsH

Ne jamais utiliser de pointeur pour retourner le resultat d'une fonction, car a la fin de la fonction ton pointeur ne vaut plus rien!
Passe le résultat en paramètre.

Shell
jeudi 23 mars 2006 à 12:28:00 | Re : déclaration d'un pointeur sur un entier

iam_myst

arf , ok bon je vais faire ca, en plus ca supprimera certainement l'erreur puisque je pourrais directement  déclarer mes tableaux

Merci

jeudi 23 mars 2006 à 14:16:30 | Re : déclaration d'un pointeur sur un entier

Guillemouze

"Ne jamais utiliser de pointeur pour retourner le resultat d'une fonction, car a la fin de la fonction ton pointeur ne vaut plus rien!"
heuuuu je suis pas trop daccord avec toi DeAtHCrAsH !!!
par contre je trouve ta synthaxe bizare pofipofo!
int *tabcle = new int[56]
ca veut dire que tu fais
ton tabcle est un pointeur sur un int. un "new int" renvoie un pointeur sur une malloc de int. donc un "new int[56]" veut dire que tu alloue un int**

vendredi 24 mars 2006 à 19:50:17 | Re : déclaration d'un pointeur sur un entier

iam_myst

arf je croyais que ca allouer un tableau de 56 entiers
samedi 25 mars 2006 à 16:10:51 | Re : déclaration d'un pointeur sur un entier

Guillemouze

bah en fait je sais pas trop comment marche le new C++ sur un type C de base
moi a ta place je ferrai plutot

int* tabcle;
tabcle = (int*) malloc(56*sizeof(int));

dans ce cas, ca t'alloue un tableau de 56 entiers. apres, si tu veu modifier ton tableau dans une fonction func(int* tab), tu fai un appel func(tabcle), ca te permet de modifier les valeurs, et ces modifs seront bien modifiees a la sortie de ta fonction. par contre, si tu alloue ton tableau dans la fonctions, ca sera pas pris en compte vu que tu modifie la valeur de tab elle meme. donc si tu veu allouer le tableau dans ta fonction , il faut faire:

func(int** tab) {
   ...
  (*tab) = malloc ...
  ...
}

int *tabcle;
func(&tabcle)
//la ton tabcle est affecte.


eske j'ai ete clair?
samedi 25 mars 2006 à 16:30:00 | Re : déclaration d'un pointeur sur un entier

Joky

Membre Club
Moi à la place je ferais int tabcle[56];

if(!Meilleur("Joky")) return ERREUR;<

samedi 25 mars 2006 à 19:07:06 | Re : déclaration d'un pointeur sur un entier

Guillemouze

heuuu oue ca depend de l'utilisation qu'il en fait. si il a besoin de declarer la taille dynmiquement ca marche pas. et si il fait l'allocation dans une fonction ca la conservera pas non plus.


Cette discussion est classée dans : int, erreur, entier, déclaration, pointeur


Répondre à ce message

Sujets en rapport avec ce message

probleme de pointeur :( [ par caro_perf ] Bonjour; Voila mon probleme : je compile mon programme sans probleme mais qd j'execute et il me sort une erreur "access violation (unhandeled excepti Erreur CXX0030 :violation d acces !!!! [ par caro_perf ] Bonjour, cette partie du code me renvoie une erreur de violation d acces : model.h Code:</td erreur constructeur [ par cgarbite ] Developpeur_Fou Je programme avec borland c++ J ai 2 classes. class TForm1 : public TForm { __published:    // Composants gérés par l'EDI Casting to dialogproc [ par bobby03 ] Quand j'utilise les boites de dialogue j'ai cette erreur:Error: Leçon02.cpp(101,46):Cannot convert 'int (*)()' to 'void (*)(int)'Pour réparer cette e Affichage---pointeur [ par amin79 ] J'ai ce code et je n'arrive pas à afficher le contenu de a[10]. Comment faire.#include/*a[i] est un tableau dont tous ses éléments sont initialisés à comment affecter un tableau à un pointeur d'une classe? [ par cesdejong ] Bonjour,je débute un peu en C++ et je suis confronté à un problème pour lequel je ne trouve pas de solution élégante :class truc{...int* abscisse;int* Erreur de débutant..je suppose [;)] [ par bthivent ] Bonjour !Voilà j'ai un petit problème, qui me mène dans un mauvais état, mais qd même pas au bord du suicide lol...j'ai une erreur dans mon code, en v demande de lire un entier (int) c++ [ par simosif ] bonjour, dans un programme c++, je veux obliger l'utilisateur à entrer un entier.tant que il n'a pas entrer un entier, on lui affiche un message et n Pointeur en C [ par casper_2 ] Bonjour j'aimerais savoir comment ,appartir d'une autre application ,savoir si celui est soit en cours d'execution ou soit terminer. G reflechis a mon SDL_main [ par asmanur ] J'ai un problème avec la SDL avant j'étaient sous GLUT et je suis passé sous la SDL. Donc voila je compile aucune erreur, pas de erreur de link sauf u


Nos sponsors


Appels d'offres

Sondage...

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,390 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales