Articles of malloc

Pourquoi est-ce que j’obtiens un échec d’assertion C malloc?

Je suis en train de mettre en œuvre un algorithme polynomial de division et de conquête afin de pouvoir le comparer à une implémentation OpenCL, mais je ne peux pas faire fonctionner malloc . Lorsque je lance le programme, il alloue un tas de choses, vérifie certaines choses, puis envoie la size/2 à l’algorithme. Puis […]

Qu’advient-il de la mémoire après ‘\ 0’ dans une chaîne C?

Étonnamment simple / stupide / question de base, mais je n’en ai aucune idée: Supposons que je veuille retourner à l’utilisateur de ma fonction une chaîne de caractères dont je ne connais pas la longueur au début de la fonction. Je ne peux placer qu’une limite supérieure sur la longueur au départ et, en fonction […]

Mémoire libre allouée dans une fonction différente?

J’essaie d’apprendre C et j’essaie actuellement d’écrire une structure de données de stack de base, mais je n’arrive pas à obtenir de base malloc / free right. Voici le code que j’ai utilisé (je ne fais que poster une petite partie pour illustrer un problème spécifique, pas le code total, mais le message d’erreur a […]

Utiliser malloc pour l’allocation de tableaux multidimensionnels avec différentes longueurs de lignes

J’ai le code C suivant: int *a; size_t size = 2000*sizeof(int); a = (int *) malloc(size); qui fonctionne bien Mais si j’ai les éléments suivants: char **b = malloc(2000*sizeof *b); où chaque élément de b a une longueur différente. Comment est-il possible de faire la même chose pour b que pour a ? Le code […]

Comment puis-je obtenir la taille d’un tableau à partir d’un pointeur en C?

J’ai alloué un “tableau” de mystruct de taille n comme ceci: if (NULL == (p = calloc(sizeof(struct mystruct) * n,1))) { /* handle error */ } Plus tard, je n’ai access qu’à p , et je n’ai plus de n . Existe-t-il un moyen de déterminer la longueur du tableau uniquement en fonction du pointeur […]

Est-ce que malloc est sécurisé?

Est-ce que la fonction malloc() est rentrante?

Comment trouver la cause d’une erreur malloc «double free»?

Je programme une application en Objective-C et je reçois cette erreur: MyApp (2121,0xb0185000) malloc: *** erreur pour l’object 0x1068310: double gratuit *** définir un point d’arrêt dans malloc_error_break à déboguer Cela se produit lorsque je publie un NSAutoreleasePool et que je n’arrive pas à comprendre quel object je publie deux fois. Comment définir son point […]

Pourquoi «free» dans C ne prend-il pas le nombre d’octets à libérer?

Juste pour être clair: je sais que malloc et free sont implémentés dans la bibliothèque C, qui alloue généralement des morceaux de mémoire à partir du système d’exploitation et fait sa propre gestion pour répartir de plus petites quantités de mémoire dans l’application et en suivre le nombre. octets alloués. Cette question n’est pas comment […]

Comment malloc () est-il implémenté en interne?

Quelqu’un peut-il expliquer comment malloc() fonctionne en interne? J’ai parfois fait un strace program et je vois beaucoup d’appels système sbrk , faire l’ man sbrk parle de son utilisation dans malloc() mais pas beaucoup plus.

quel est l’intérêt de malloc (0)?

Juste vu ce code: artist = (char *) malloc(0); et je me demandais pourquoi on ferait ça?