No, son lo mismo. Todas las declaraciones de funciones son externas. La palabra clave extern dice "Quiero que sepas que esto existe, pero no lo estoy definiendo aquí". Con un int, esto sería necesario, porque una declaración también es una definición. Con una función, el punto y coma al final lo marca explícitamente como no definido aquí.
Mi mejor conjetura sobre por qué lo marcaron extern es posiblemente porque la declaración de función está en el archivo de encabezado pero la definición no está en el archivo c correspondiente, como uno esperaría normalmente. Esto es similar a cómo se usa generalmente extern en un tipo int (donde desea declararlo, pero planea vincularlo desde otra fuente). Por lo tanto, es una forma de documentación.
Esta es la mejor explicación de la vinculación a mí:
http://publications.gbdirect.co.uk/c_book/chapter4/linkage.html
esto podría ayudar http://msdn.microsoft.com/en-us/library/0603949d(v=vs.80). aspx – Terrance