В C++ глобальные константы связаны внешним образом, а в C – внутренним.

Пример 1
const double PI = 3.1415926 <=> static const double PI = 3.1415926
(Если оба объявления не включены в состав функции.)

Правило, существующее в C++, нацелено на упрощение использования констант в заголовочных файлах. Если константа связана внутренним образом, тогда каждый файл, включающий заголовочный файл, получает свою копию константы. Если константа связана внешним образом, тогда в одном из файлов должно существовать определенное объявление, в то время как остальные файлы должны содержать ссылочные объявления на файл, содержащий ключевое слово external. В некоторых случаях в C++ можно использовать слово extern, чтобы создавать значения const, имеющие внешнее связывание. Тогда в обоих языках могут быть созданы константы, связанные внешним и внутренним образом.
Различие между C и C++ заключается только в том, какого типа константы используются по умолчанию.
Пример 2
const int APS = 100;

double loon[APS];  //допустима в С++, но недопустима в С.