C is just fine but you need to understand how computers work and how to program applications with graphics. On Windows, this means you'll have to learn to use DirectX or SDL down the road. In order to do that, you'll want to be very proficient with C.
Additionally, you should learn about computer architecture and be comfortable with working at a low level: Dealing with bits and bytes. A good way of doing this is learning an assembly language; either X86 or ARM. Either way, you'll encounter plenty of ARM code because of the GBA but knowing X86 (one of the nastier assembly languages out there) is going to be very helpful.
> hi, i'm a newb in the boards, i just starting to get into c programming, i was
> wondering if its possible to create a Gba emulator with C programing and wat i
> would need in order to start,i have a couple different compilers,i've been
> writting some programs, tyring to neways,and i'm trying to really get into C
> programming. I know i'm kinda jumping the gun but i'm moving through c
> programming at a good pace, i just wanted to know wat it takes to make a gba
> emulator, i'm on my own for know but i have a friend who knows C and is working
> with C++ right now and may help me with the project.
> Is knowing C++ a must if i want to make a gba emulator?
> Any helpful suggestions would be great thanx