I doubt mode even modern C compilers will do the GB/GBC justice, not to mention you would probably be better off remaking a game at that point. It is not unheard of for people to inject C code into games (albeit I have never see it on the GB/GBC and would not expect to) and have the game jump to it but it is far from the done thing.
Anyway two approaches (or three if you count emulator only, which is less a hack most of the time and more just a colour palette not entirely unlike what the GBC hardware affords with the hold buttons during startup https://www.nintendo.com/consumer/systems/gameboyadvance/colorchange.jsp
), maybe with an ability to swap out at a given point in the game or have users do it)
1) You hack the game into being for the super game boy and go accordingly (hope also your audience can run/emulate such toys, which is a surprisingly big ask in a lot of cases -- even flash carts have trouble with this one). https://loveconquersallgam.es/post/2350461718/fuck-the-super-game-boy-introduction
2) You hack the game into being a GBC game and go accordingly (most of what you see in hacks around here that add colours). Trip the detection ( https://bgb.bircd.org/pandocs.htm#cgbregisters
), tweak any relevant header sections and go from there, sorting out any falling debris from things not being where it might have previous expected or running faster than it previously did all while taking advantage of it to add your own tweaks in there or twist it to use GBC hardware where there originally was none.
C and C++ in ROM hacking is mostly useful for making tools and if you are on a system wherein things were likely coded in C/C++ then figuring out what the likely base version of the assembly you are looking at was (either to exploit it https://wiibrew.org/wiki/Signing_bug
, fix a bug or simply understand the greater flow/purpose more easily). Active work in changing the game (that is not data changed by your tool) tends to be ASM or bust.
With the recent N64/general Nintendo leaks and various decompilation efforts, to say nothing of general open sourcing and recreation, you can get a lot done with C/C++ knowledge in game modding circles, however straight ROM hacking (especially of anything that was not likely programmed in C/C++ to begin with*) of the ROM itself it has limited application.
being a choice link at this point in time even if only as a curiosity.
Short version. Yeah assembly is in your future. The z80 a like of the GB/GBC is not so bad though. Don't know what I would suggest similar to some of the stuff I have for later systems or stuff like the 6502, especially not if you are familiar with somewhat low level coding already, so I will have to leave it at the pandocs stuff linked earlier.