Articles of malloc

Pourquoi est-ce que je reçois un avertissement chaque fois que j’utilise malloc?

Si j’utilise malloc dans mon code: int *x = malloc(sizeof(int)); Je reçois cet avertissement de gcc : new.c:7: warning: implicit declaration of function ‘malloc’ new.c:7: warning: incompatible implicit declaration of built-in function ‘malloc’

Manière bizarre d’allouer un tableau à deux dimensions?

Dans un projet, quelqu’un a poussé cette ligne: double (*e)[n+1] = malloc((n+1) * sizeof(*e)); Ce qui est censé créer un tableau à deux dimensions de (n + 1) * (n + 1) doubles. Soi -disant, dis-je, car jusqu’à présent, personne à qui j’ai posé la question ne pouvait me dire ce que cela faisait, exactement, […]

Malloc vs nouveau – rembourrage différent

Je passe en revue le code C ++ de quelqu’un d’autre pour notre projet qui utilise MPI pour le calcul haute performance (10 ^ 5 – 10 ^ 6 cœurs). Le code est destiné à permettre des communications entre (potentiellement) différentes machines sur différentes architectures. Il a écrit un commentaire qui dit quelque chose comme: […]

Qu’est-ce qu’un tas de mémoire?

Qu’est-ce qu’un tas de mémoire?

Réglage de la variable sur NULL après libre

Dans mon entreprise, il existe une règle de codage qui, après avoir libéré de la mémoire, réinitialise la variable à NULL. Par exemple … void some_func () { int *nPtr; nPtr = malloc (100); free (nPtr); nPtr = NULL; return; } Je pense que, dans les cas comme le code montré ci-dessus, la définition de […]

Déclaration implicite incompatible de la fonction intégrée ‘malloc’

Je reçois cette erreur: avertissement: déclaration implicite incompatible de la fonction intégrée ‘malloc‘ J’essaie de faire ça: fileinfo_list* tempList = malloc(sizeof(fileinfo_list)); Juste pour la référence, la structure utilisée est la suivante: typedef struct { fileinfo** filedata; size_t nFiles; size_t size; size_t fileblock; } fileinfo_list; Je ne vois rien de mal avec ce que j’ai fait. […]

Pourquoi le livre dit-il que je dois lancer malloc?

Aujourd’hui, j’ai atteint la page 167 du langage C Programming Language (deuxième édition, Brian W. Kernighan & Dennis M. Ritchie) et j’ai découvert que l’auteur disait que je devais lancer malloc . Voici la partie du livre: 7.8.5 Gestion du stockage Les fonctions malloc et calloc obtiennent des blocs de mémoire dynamicment. void *malloc(size_t n) […]

Pourquoi malloc + memset est plus lent que calloc?

On sait que calloc est différent de malloc dans le sens où il initialise la mémoire allouée. Avec calloc , la mémoire est mise à zéro. Avec malloc , la mémoire n’est pas effacée. Donc, dans le travail quotidien, je considère calloc comme malloc + memset . Incidemment, pour le plaisir, j’ai écrit le code […]

Comment fonctionnent malloc () et free ()?

Je veux savoir comment malloc et free travail free . int main() { unsigned char *p = (unsigned char*)malloc(4*sizeof(unsigned char)); memset(p,0,4); strcpy((char*)p,”abcdabcd”); // **deliberately storing 8bytes** cout << p; free(p); // Obvious Crash, but I need how it works and why crash. cout << p; return 0; } Je serais vraiment reconnaissant si la réponse […]

Pourquoi l’utilisation de alloca () n’est-elle pas considérée comme une bonne pratique?

alloca() alloue de la mémoire à partir de Stack plutôt que du tas, ce qui est le cas dans malloc() . Donc, quand je reviens de la routine, la mémoire est libérée. Donc, en réalité, cela résout mon problème de libération de la mémoire allouée dynamicment. La libération de la mémoire allouée via malloc() est […]