Salut,
Le langage arduino est effectivement un sous ensemble de C++.
C'est très souvent utilisé sans spécialement utiliser le côté orienté objet du C++ et donc on retombe sur plus ou moins du C, mais il faut savoir qu'on peut programmer orienté objet plus tard
(avec par contre des restrictions comme pas d'exceptions de mémoire)
Pour la comparaison avec le C, je ne vois pas spécialement de grosses différences, les pointeurs existent, le malloc etc aussi. La "grosse" différence avec du code C d'école ou sur ordinateur vient de trois choses:
- on est sur de l'embarqué, donc pas les mêmes habitudes de prog, par exemple il faut penser à travailler énormément avec les interruptions, pas beaucoup de mémoire, etc.
- l'API fournie n'est pas la libC, mais comporte bcp de choses (faites pour être simples à utiliser)
- le programme en lui même se fait en gros dans deux méthodes "setup" et "loop" (et sans utiliser de main) qui en gros vont se comporter comme
int main(...) { setup(); for(;;) loop(); }
A priori, arduino a été fait dans l'optique de rendre accessible la programmation en C/C++ à des artistes ou autres (comme avec Processing ou Wiring).
Bon courage pour la découverte de ce monde merveilleux!