No. That does not do the same thing at all. That simply creates a pointer to an array created on the stack. The OP was asking about initialising a dynamically allocated array on the heap.
As a general rule, ignore everything closed account 5a8Ym39o posts. He's a troll, who frequently posts unhelpful and incorrect "advice".
On line 1, you are allocating space on the stack for num pointers.
On line 2, you are creating a pointer to a pointer, that's equal to inh - although there's not much reason to do that.
On line 4, you are dynamically allocating memory on the stack for an Inhabs object, and setting the value of one of the elements of your inh array to be the address of that new object.