что C и C++ отличаются в области видимости констант. В С константы глобальные по умолчанию, в С++ они глобальные, если объявлены с extern. В С++ объявление константы без extern эквивалентно объявлению в С константы с ключевым словом static. Хотя был на правильном пути :)