sizeof(Arraydata)だと配列全体のサイズになるのでバツ。
配列の要素数を知りたいときは「全体のサイズ÷個のサイズ」で
( sizeof(Arraydata) / sizeof(Arraydata[0]) ) とするのが一般的。
ただ、せっかくC++なんだからSTLを使って管理した方が良いだろ。

動的に生成する場合は new と delete を使う。
malloc と free はいろいろと問題があるので止めといた方が良い。

つーか基本だから、もうちょい言語について勉強してこような。