It is OK if I write int[char[]] asr; asr["hello"] = 10; but the following does not compile: char[] car = "hello"; What is the explanation for this behaviour?