begin process at 2012 05 29 16:01:41
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

pionteur


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

pionteur

jeudi 12 août 2004 à 19:27:43 | pionteur

lilington

Salut j'ai un petit problème avec l'allocation dinamique sur VC++ 6
je cherche la correspondance entre "malloc" et "new"
voilà la l'allocation que je veux convertir:

unsigned char* pAbc=NULL;
int y,n;
{}
pAbc=(unsigned char*) malloc(y*n+1);

je la ma même allocation avec new.

j'ai essayé : image= new (unsigned char*) (y*n+1);
ET j'obtiens l'erreur : CANNOT CONVERT INT TO UNSIGNED CHAR *
jeudi 12 août 2004 à 19:30:37 | Re : pionteur

vecchio56

Administrateur CodeS-SourceS
new n'est pas une fonction mis un opérateur et s'utilise comme suit:
image = new unsigned char[y*n+1]
jeudi 12 août 2004 à 21:04:06 | Re : pionteur

djl

T *p;

en c

p = malloc( N * sizeof *p );

pour liberer

free( p );


en c++

p = new T[ N ]; // appel de T() pour les N elements

delete[] p; // appel de ~T() pour les N elements

delete met le pointeur à NULL ( 0 par conversion implicite ) et gere le pointeur NULL


si tu utilise malloc en c++

p = (T *) malloc( N * sizeof *p );
jeudi 12 août 2004 à 21:06:29 | Re : pionteur

vecchio56

Administrateur CodeS-SourceS
sizeof(p) au lieu de sizeof *p

C'est spécifié que delete met pointeur à NULL? J'avais jamais fait gaffe...
jeudi 12 août 2004 à 21:17:37 | Re : pionteur

djl

oui, c'est inutile de faire

if( p != NULL ) delete p;

ou

delete p; p = NULL; comme on voit ca souvent...


sinon c'est sizeof *p qu'il faut mettre


double *p;

p = malloc( sizeof p ); tu alloue 4 octet au lieu de 8

l'interet de mettre sizeof *p au lieu de sizeof( double ) c'est si le type de p change, le malloc sera toujours correct
jeudi 12 août 2004 à 21:19:30 | Re : pionteur

BruNews

Administrateur CodeS-SourceS
Difficile que le pointeur soit mis a NULL sans affectaion.

ciao...
BruNews, Admin CS, MVP Visual C++
jeudi 12 août 2004 à 21:21:03 | Re : pionteur
jeudi 12 août 2004 à 21:22:15 | Re : pionteur

vecchio56

Administrateur CodeS-SourceS
if( p != NULL ) delete p;

peut être utile parfois
jeudi 12 août 2004 à 21:23:04 | Re : pionteur

djl

BruNews > tu me crois pas ?
jeudi 12 août 2004 à 21:24:30 | Re : pionteur

djl

if( p != NULL )
if( p != 0 )
if( !p )

finalement je prefere l'ecriture la plus courte :D

1 2 3

Cette discussion est classée dans : char, allocation, unsigned, malloc, pionteur


Répondre à ce message

Sujets en rapport avec ce message

pb avec conio je cher cherche l'erreur( j'ai merde sur le mess precedent) [ par kin ] portpia.cpp#include"PortPiaPc.h"void main(){ PortPiaPc inst; inst(0x320,0x0f);}PortPiaPc.cpp#include "PortPiaPc.h"#include "conio.h"PortPiaPc::PortPia Pointeurs sur des tableaux de plusieurs dimensions [ par ProGamer ] J'ai besoin de faire des pointeurs sur ce genre de tableaux. Voici comment je m'y prends (et surtout, voici comment ça ne marche pas...):unsigned char char* to unsigned char* [ par rodrigos ] comment peut-on convertir un char* en unsigned char*?à quoi correspond un unsigned char*?Merci pour votre aide!! Comment concertir Ansistring en unsigned char*????? [ par asik38 ] Ansistring x;unsigned char str[100];str[100]=x;??????Merci!!! struct [ par ready4 ] Je ne sais pas comment initialiser mes moteurs //intialisation moteursM1 = {2, 1, 1, 2, 0, 0, 120};M2 = {8, 4, 4, 8, 0, 0, 80};M3 = {32, 16, 16, 32, 0 pb avec variable [ par jeffise57 ] Please aidez moiJe reçoit comme arugument du fonction des variables unsigned char* et je doit passer dans une deuxième fonction les même arguments mai Sniffing - raw socket [ par krum ] J'ai essayé de coder un programme capable de me donner la description de l'en tete IP et TCP des packets que je reçois d'une certaine IP,mais lorsque Probleme malloc [ par zzzzzz ] <img src=/imgs2 Probleme de conversion [ par allo8086 ] Salut tous le mondeEnfet, je veux convertir une chaine de caratere lue a partir d'un fichier texte en unsigned char.A propos j'ai essayé de passer pa pb malloc [ par youpiyoyo ] d'apres msdn char *string; /* Allocate space for a path name */ string = malloc( _MAX_PATH );deja ca chez moi ca compil pas me compilo me di impos


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
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 : 12,527 sec (3)

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