Οι συναρτήσεις έχουν εξωτερική σύνδεση από προεπιλογή και μπορούν να κληθούν από οποιοδήποτε άλλο αρχείο του έργου.
Για περισσότερα σχετικά με τη σύνδεση, δες την έννοια της σύνδεσης.
Μια συνάρτηση static μπορεί να κληθεί μόνο μέσα στο αρχείο πηγαίου κώδικα όπου ορίζεται.
Για παράδειγμα
// file scope, internal linkage
// can only be called from within this file
static void some_function()
{
// code snipped
}
// file scope, external linkage by default
// can be called from any other file in the project
int main()
{
// code snipped
}
Ακόμη κι αν μια συνάρτηση δηλώνεται σε μια κεφαλίδα, αν οριστεί ως static δεν θα μπορεί να κληθεί από έξω από το αρχείο πηγαίου κώδικα της.
Ένα αρχείο πηγαίου κώδικα θα μπορούσε να συμπεριλάβει την κεφαλίδα, να καλέσει τη συνάρτηση static που δηλώνεται στην κεφαλίδα και να μεταγλωττιστεί, αλλά ο συνδέτης θα αποτύχει να βρει τον ορισμό της συνάρτησης static.
Μια συνάρτηση που χαρακτηρίζεται ως static σε ένα αρχείο πηγαίου κώδικα δεν θα πρέπει να δηλώνεται στο αρχείο κεφαλίδας της.