After a long break,I am back to C but getting confused even on some simple issues.
So one is here.

Here is the simple code :

```
 #include<stdio.h>

 int main() {

    char str1[]="hello";
    char str2[]="hello";

    if(str1==str2)
            printf("equal");  
    else
            printf("unequal");
} 

```

**Output:**
unequal

but when I tried this one ,it worked

```
  char *str1="hello";
  char *str2="hello";

```

**Output**
equal

Please if anyone can provide a detailed explanation for it.
Can someone tell me what exactly does C99 standard say about the situation ???