C интерфейс – основа для многих других интерфейсов. Он содержит функции С для всех методов MathGL. В отличие от C++ классов, C функции содержат обязательный(ые) аргумент(ы) типа HMGL (для графики) и/или HCDT/HMDT/HADT (для массивов данных), который указывают на объект для рисования или изменения. Поэтому перед использованием их необходимо создать с помощью функции mgl_create_*(), и удалить после использования (или в конце программы) с помощью функции mgl_delete_*().
Все C функции описаны в заголовочном файле #include <mgl2/mgl_cf.h> и используют переменные следующих типов:
HMGL — Указатель на класс mglGraph (см. Ядро MathGL).
HCDT — Указатель на класс const mglDataA (см. Обработка данных) — неизменяемые массивы данных.
HMDT — Указатель на класс mglData (см. Обработка данных) — массивы данных с действительными числами.
HADT — Указатель на класс mglDataC (см. Обработка данных) — массивы данных с комплексными числами.
HMPR — Указатель на класс mglParse (см. mglParse class) — выполнение MGL скриптов.
HMEX — Указатель на класс mglExpr (см. Вычисление выражений) — текстовые формулы для действительных чисел.
HMAX — Указатель на класс mglExprC (см. Вычисление выражений) — текстовые формулы для комплексных чисел.
Фортрановские функции и подпрограммы имеют такие же имена как функции С. Однако есть отличие. Переменные типов HMGL, HCDT, HMDT, ... должны быть целыми с достаточной разрядностью (integer*4 для 32-битной операционной системы или integer*8 для 64-битной). Все C функции типа void — подпрограммы на Фортране и должны вызываться оператором call. Прочие функции, возвращающие тип HMGL или HMDT и т.п. должны быть объявлены в Фортране как возвращающие целое нужной разрядности. Также необходимо иметь в виду, что строки в Фортране отделяются символом ', а не ".