Same way you do in C. Infact it has a prety much identical syntax. Obviously more complex opperators are not supported, but the syntax is the same.
Example:
Code:
int HELLO[3]; //Array of ints called HELLO with 3 indicies
Globals are declared outside functions. Locals are declared at the start of a function (like in older C environments).
Due to the lack of optimizing compilation and for security, pointers and volitiles are probably not supported (pointers were removed in beta, sigh).
You can also make variables using the lame GUI provided.
Globals...
Right click the Triggers panel (you can toggle this in the View menu) and select the New menu and choose New Variable.
Locals
Any GUI procedure part will give you access to a locals section. Ricght click the procedure part and select the New manue and choose New Variable to create a new local for use in that procedure.
EXP bar is done by the veterancy behaviour in the data editor. You will need to create a new behaviour extending the veterancy constructor and customize it to suit your needs. Finally go to all the units which should use that experience system and add the customized veterancy behaviour to their behaviours list.
No idea what you mean by a Skill tree...
For a full screen skill tree you will need a lot of trigger coding. This is done with dialogs for the graphics and some internal engine (made using a variery of triggers) to do the actual skill responses.
For a WC3 style skill system you will have to use the learn ability. Add all abilities the hero should learn to the learn ability. Add the learn ability and all abilites that get learned via it to the correct hero unit. Go the the hero unit command card and then make an icon for the learn ability and attach it (redirect to a blank command card). Then in that blank command card you place your learn icons and link them to the appropiate orders of the learn ability.
Actors in the data editor. All sound effects are controled by actors. Actors get attached to other data elements by their event fields. This is the most complex part of the data editor (because there is no documentation) but luckilly for simple tasks it is really easy.