申し訳ありません。基本かもしれませんが、参考書に載ってないので教えて下さい。

#include <stdio.h>
int main(void)
{
char str[100];
int i,c;
c=0;
printf("文字列を入力してください。\n");
scanf("%s",str);
for(i=0;str[i]!='\0';i++){
c++;
}
printf("文字列の長さは%dです。\n",i);
return 0;
}



このコードのstr[i]!='\0'の!=hは非等価ですが'\0'の意味を教えて下さい。