C++ : j'ai du mal là :D

C++ : j'ai du mal là :D - Programmation

Marsh Posté le 19-01-2002 à 16:22:55    

J'ai ca :
 
typedef struct st_dynamic_array {
  char *buffer;        
  uint elements,max_element;
  uint alloc_increment;
  uint size_of_element;
} DYNAMIC_ARRAY;
 
DYNAMIC_ARRAY keyuse;
bzero((char*) &keyuse,sizeof(keyuse));
 
(char*) &keyuse représente quoi :??:

Reply

Marsh Posté le 19-01-2002 à 16:22:55   

Reply

Marsh Posté le 19-01-2002 à 16:29:26    

un pointer


---------------
What butter and whiskey won't cure, there is no cure for.
Reply

Marsh Posté le 19-01-2002 à 16:30:18    

ben ce que tu as fait la c'est :
 
 
1) recupere l'adresse de keyuse ( &keyuse)
2) caster cette adresse non plus en DYNAMIC_ARRAY * mais en char *

Reply

Marsh Posté le 19-01-2002 à 16:35:22    

BOn ca va ch'uis rassuré j'avais compris :D
Mais bzero fait quoi, il met autant de zero que sizeof(keyuse) dans l'adresse ? (pas le contenu de l'adresse)

Reply

Marsh Posté le 19-01-2002 à 16:37:13    

Code :
  1. NAME
  2.        bzero - write zeros to a byte string
  3. SYNOPSIS
  4.        #include <string.h>
  5.        void bzero(void *s, size_t n);
  6. DESCRIPTION
  7.        The  bzero()  function  sets the first n bytes of the byte
  8.        string s to zero.
  9. RETURN VALUE
  10.        The bzero() function returns no value.


Ici il met à zero la structure pointée.

 

[edtdd]--Message édité par Verdoux--[/edtdd]

Reply

Marsh Posté le 19-01-2002 à 16:37:58    

nope dans le contenu dans l'adresse, enfin, ce sur quoi l'adresse pointe .
 
 
regarde
 
int a = 5;
 
bzero( (char *)&a,sizeof(a));
 
apres ca, a = 0;
 
en premier parametre tu lui file l'adresse des données a modifié, en deuxieme la taille des données en octet  
 
alles klar ?

Reply

Marsh Posté le 19-01-2002 à 16:38:43    

vi ca je l'ai déjà...
donc en gros c'est une méthode rapide pour initialiser toutes les variables de DYNAMIC_ARRAY à 0 ?

 

[edtdd]--Message édité par joce--[/edtdd]

Reply

Marsh Posté le 19-01-2002 à 16:38:56    

au fait, tant que t la, y'aurait moyen de desactiver les smiley dans les bouts de post compris entre [ code] et [ /code] ?
ca donne des trucs louche parfois :D

Reply

Marsh Posté le 19-01-2002 à 16:39:38    

chrisbk a écrit a écrit :

au fait, tant que t la, y'aurait moyen de desactiver les smiley dans les bouts de post compris entre [ code] et [ /code] ?
ca donne des trucs louche parfois :D  




faudrait que je regarde ;)

Reply

Marsh Posté le 19-01-2002 à 16:39:52    

joce a écrit a écrit :

vi ca je l'ai déjà...
donc en gros c'est une méthode rapide pour initialiser toutes les variables de DYNAMIC_ARRAY à 0 ?  
 
 




 
 
Yes !
 
mais surtout, SURTOUT,  vu que t en c++, ne fais jamais cela sur une classe ou structure contenant des fonction virtuelles !
 
plantage en vue, sinon

Reply

Marsh Posté le 19-01-2002 à 16:39:52   

Reply

Marsh Posté le 19-01-2002 à 16:48:02    

c noté
ca plante à la compile ou après ? (ca sent l'expérience :D)

Reply

Marsh Posté le 19-01-2002 à 16:48:39    

joce a écrit a écrit :

c noté
ca plante à la compile ou après ? (ca sent l'expérience :D)  




Après bien sûr ! :D

Reply

Marsh Posté le 19-01-2002 à 16:51:41    

oué après, et oué ca sent l'expérience :D
 
d'une maniere générale n'effectue pas de memset / memcpy / bzero & cie sur des classes, generalement ca se finit en drame

Reply

Marsh Posté le 19-01-2002 à 16:55:09    

yaiss ! :D

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed