It depends on the needs of your database and the data you need to record for a company and a "contact within that company".
In most cases, it will work best to have one table for company linked by company ID to a table of contacts. But in some situations a contact may need to be linked to more than one company. (Such as a contact that manages more than one company or a broker that reps for multiple companies...)
and then you need a join table.