С помощью статической клавиатуры вы обычно делаете приватную функцию. Если вы используете его для переменной, как глобальной, так и локальной по отношению к функции, вы получите не реентерабельный код.
Я настоятельно рекомендую вам избегать этого, потому что это создает проблемы в многопоточной среде. Также вас может не интересовать многопоточное программирование, но вы не знаете, что вам понадобится в будущем!
По вашему конкретному вопросу я полностью согласен с советами Джеймса Морриса по поводу непрозрачного указателя.