People tend to be confused about the difference between an Admiral and General, the major difference between Admiral and General is that Admiral is the highest rank in the navy while General is a rank in the army.
Admiral in some countries comes with a four-star. In the United States, before the civil war captain was the highest rank in the navy, the rank of admiral was introduced in the US army during the civil war. In navy, Admiral is a rank just above vice admiral.
General is the rank below field marshal, and above lieutenant general. General, which is a four-star rank, is the most senior rank during peacetime, and field marshal is the highest rank during the period of war.