[C] malloc vs calloc

malloc vs calloc [C] - Programmation

Marsh Posté le 27-07-2001 à 13:46:00    

J'aurais voulu connaitre la difference entre le malloc et le calloc, tt ça en C bien sur  :) .
merci

 

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

Reply

Marsh Posté le 27-07-2001 à 13:46:00   

Reply

Marsh Posté le 27-07-2001 à 13:59:41    

bah t'as pas vu les paramètres de chacune de ces fonctions !?
En fait elle réservent toutes les 2 un espace mémoire et rendent un poiteur void* (à caster généralement selon le type que tu veux !). La différence, c que pour malloc, tu donnes directement le nombre de bytes à réserver, et avec calloc tu donnes la taille en bytes d'un élément, et le nombre d'éléments (c pr réserver pr des tableaux généralement). Mais on peut faire les même choses avec ces 2 fonctions. Personnellement, j'utilise que Malloc.
Voila, satisfait !?

Reply

Marsh Posté le 27-07-2001 à 14:01:26    

calloc initialise avec des zéros me semble-t-il du même coup.
 
Cf Gilou dans  
http://forum.hardware.fr/sqlforum/ [...] cache=&p=1

Reply

Marsh Posté le 27-07-2001 à 14:21:23    

En gros calloc c'est 1 malloc amélioré...

Reply

Marsh Posté le 27-07-2001 à 14:52:34    

Mais si on veut initialiser avec autre chose que des zéros, vaut mieux prendre malloc() a priori.

Reply

Marsh Posté le 27-07-2001 à 15:02:27    

Bah ds ce cas on utilise l'API "FillMemory" ....

Reply

Marsh Posté le 27-07-2001 à 15:05:08    

memset() devrait être plus portable si on n'est pas attaché à Krosoft.  :D

Reply

Marsh Posté le 27-07-2001 à 15:44:18    

CARBON_14 a écrit a écrit :

memset() devrait être plus portable si on n'est pas attaché à Krosoft.  :D  




très juste, je m'en excuse auprès des utilisateurs d'autres OS (ainsi que ceux qui n'utilisent pas d'OS  :D )
 :)  ;)

 

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

Reply

Sujets relatifs:

Leave a Replay

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