Q:

What is the difference between a binary tree and just a regualr tree?

Binary tree i know can have at most two children and a struct for a binarty tree looks like :
Struct BinaryNode
{
    Object element;
    BinaryNode *left;
    BinaryNode *right;
}

How would the struct for a treeNode looks like?.. 

A:

Conceptually, a tree consists of nodes which can have child nodes with a couple of constraints to ensure that the data structure is "tree shaped":

every node has one parent node ... apart from the root node which has no parent.
there are no cycles.

A binary tree is just a tree in which each node can have at most 2 children.

The analogous struct declaration for a general tree node would be something like this:
struct Node
{
    Object element;
    Node **children;
}

where children refers to an array of nodes ... though it probably ought to be some kind of managed collection of Node pointers.  If you use a collection, it is conceptually a "set" but you are unlikely to rely on the "set-like" properties in the tree implementation.  It is more important that the collection is ordered / order preserving.

A:

A binary tree is just what the name says: Binary! Two (bi..) children per node. In graphics there are often tree called QuadTrees or OctTrees. There every node has 4 or 8 children. So a general tree is a data structure where every node has "some number of" children. In a binary tree that number is always 2.

