1) 两词都是'必须'的意思,have to 表示客观的需要,must 表示说话人主观上的看法,既主观上的必要。例如:
My brother was very ill, so I had to call the doctor in the middle of the night.
弟弟病得很厉害,我只得半夜里把医生请来。(客观上需要做这件事)
He said that they must work hard. 他说他们必须努力工作。(主观上要做这件事)
2) have to有人称、数、时态的变化,而must只有一种形式。但must 可用于间接引语中表示过去的必要或义务。例如:
He had to look after his sister yesterday. 他昨晚只得照顾他姐姐。
3) 否定结构中:don't have to表示"不必",mustn't表示"禁止"。例如:
You don't have to tell him about it. 你不一定要把此事告诉他。
You mustn't tell him about it. 你不得把这件事告诉他。