я столкнулся следующий пример использования MemSet в tutorialspoint: (я не знаком с С.)Необходимость MemSet с « 0», в примере игрушек
#include <stdio.h>
#include <string.h>
int main(){
char src[40];
char dest[100];
memset(dest, '\0', sizeof(dest));
strcpy(src, "This is tutorialspoint.com");
strcpy(dest, src);
printf("Final copied string : %s\n", dest);
return(0);
}
Я не понимаю, почему используется строка memset, поскольку компиляция и результат совпадают, когда эта строка комментируется. Хотелось бы спросить, нужна ли линия? или это хорошая практика для этого при выполнении strcpy()? или это всего лишь одна случайная линия.
Спасибо!
Это не требуется. – immibis
Это не нужно, но это пример инициализации области памяти, прежде чем вы ее используете. В этом случае это не имеет значения, так как 'strcpy' добавит нуль после копии. –
Некоторым людям просто нужно быть осторожными с их переменными, чтобы они не рисковали иметь дело с неинициализированными данными. Это немного параноидальная ИМО, но это не так, как будто у нее нет никаких заслуг. В этом конкретном случае это кажется немного экстремальным. – Dolda2000