Что означает целочисленный суффикс J?
У меня есть следующий источник:
int main() { 000J; }
С gcc 4.8.4 он компилируется без ошибок. Я знаю, что есть суффиксы, такие как L или U, но я ничего не нашел о J.
Так что же делать?
2 ответов
Я получаю предупреждение:
мнимые константы являются расширением GNU
на J
суффикс-это расширение GNU, которое заставляет литерал быть _Complex
тип.
подробнее здесь: https://gcc.gnu.org/onlinedocs/gcc/Complex.html
как упоминал Зенит, это расширение GNU для написания воображаемых литералов. Я действительно хочу прокомментировать обоснование использования j
для этой цели, поскольку ималлетт задается вопросом, но у меня недостаточно репутации, чтобы прокомментировать ответ Зенита. Я оставлю это как ответ в любом случае, поскольку это может быть полезно для других.
As этой ссылке объясняет, как i
и j
может использоваться для записи мнимых литералов с помощью этого расширения GNU. Причина i
используется для это очевидно, но причина, почему j
используется также это j
обычно используется для обозначения мнимого блока в электротехнике и системах управления, чтобы предотвратить путаницу как i
уже используется для обозначения электрического тока в этих контекстах.