Waleska R. answered 06/28/19
Brazilian Portuguese Tutor with 10+ Years of Teaching Experience
They mean the same, "ter fome" is more formal and not very common while "estar com fome" is more common to hear.
Actually we also use this structure "estar com (noun)" to express other feelings like:
Estou com sede (thirst) litterally means I'm with thirst
We usually pronounce "To" isntead of "estou"
So we would say "To com sede"
so, we can say To com fome (hunger) ,sede (thirst), sono (sleep), dor de cabeça (headache), gripe (the flu), preguiça (lazyness) , vergonha (shame), etc...
This is just how Brazilians think : "I'm with ....(something).