C语言指针中删除字符问题

void delete_char(char str[],char target){
int i,j;
for(i=j=0;str[i]!='\0';i++){
if(str[i]!=target){
str[j++]=str[i];
}
}
str[j]='\0';
}
其中最后一步str[j]='\0'不是很理解,请大家帮忙解决

就是在最后加上\0表示此字符串的结束,后面输出遇到\0就会结束输出,这是一个常见的语句,以后自己写代码在字符串的最后都可以加上