87 votes

Ce qui ' s l’utilisation de memset() valeur de retour ?

est déclarée pour retourner c’est toujours la même valeur que l’adresse passée à la fonction.

Quelle est l’utilisation de la valeur de retour ? Pourquoi ne faut-il pas retour `` ?

119voto

Juraj Blaho Points 8134

Il peut être utilisé pour l’appel chaînage comme :

33voto

NPE Points 169956

La signature est conforme à toutes les autres fonctions similaires : , etc.. J’ai toujours pensé cela a été fait pour permettre à la chaîne des appels à des fonctions, et au contraire, employer de tels appelle dans les expressions.

Cela dit, je n’ai jamais rencontré une situation réelle où je me sentirais obligé d’utiliser la valeur de retour d’une telle manière.

12voto

Noah Points 101

Pour pouvoir utiliser la fonction comme argument pour une autre fonction comme``

0voto

Gerard Nicol Points 37

Je suis tombé sur cette question lors de Googler pour voir ce que memset retourné.

J'ai un code où j'ai tester une valeur, alors si c'est le vrai test pour voir si une valeur est à zéro.

Car il n'est pas complètement portable façon C pour tester les zéros, je dois courir memset dans le milieu.

Donc mon code est:

if ( a==true && (memcmp(memset(zeros, 0, sizeof(zeros)), b, sizeof(zeros)) == 0) )

Cela témoigne du chaînage de fin indiquée dans les questions précédentes, mais c'est un exemple de l'utilisation de cette technique.

Je vais laisser à d'autres de juger si c'est bon codage ou pas.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X