If I remember correctly, a howitzer is a gun primarily intended for firing explosive shells at high-angles, with arcing flight paths (i.e., indirect fire). This is distinct from a gun intended for use as a direct fire weapon, with a relatively flat trajectory. Tank guns are referred to as "Guns".
Cannon is a more-or-less generic term indicating something that fires a projectile larger than some arbitrary size (.50 cal seems to be the standard, right now), usually in single shots or non-automatic sequential shots. The truth is that terms like "gun" and "cannon" are kind of interchangeable in day-to-day use, even in the military.
As an aside, the long, round, holey part of any cannon is called the "tube", not the "barrel". The military refers to gun tubes and cannon tubes, etc. In fact, howitzer firing battery strengths are counted in terms or how many tubes it possesses, which is to say, how many functional howitzers that battery has. However, in conversation, the howitzers may be referred to as "guns". Larger formations of artillery are also counted in terms of tubes.
The long, round, holey part of a tank cannon is referred to as a "gun tube". Cleaning the gun is called "punching the tube", a reference to the effort required by several men to push a tight-fitting bore-brush through the tube (alway muzzle to breech), several times. The sectional pole used to push the bore-brush is called the "rammer staff", a throwback reference to the muzzle loading cannons of old. BTW, be ready to pull your hands clear if you are the man closest to the muzzle when the bore brush pops into the breech (with a hollow sounding pop). If you don't, you will need band-aids for your fingers and knuckles.
I hope this clears things up a little, but I doubt it...