LINUX.ORG.RU

Завершающая запятая в конце массива

 


0

1

Надыбал драфт стандарта с89: http://port70.net/~nsz/c/c89/c89-draft.html

Не нашел про то, допустима ли запятая после последнего элемента *массива*. Про запрет для enum'а знаю. gcc с -std=c89 не ругается, но я ему не очень доверяю в таких вопросах.

#include <stdio.h>

const char * array[] = 
{
    "first",
    "second", // <--
};

int main()
{
    printf("%s, %s\n", array[0], array[1]);

    return 0;
}

★★

Последнее исправление: cetjs2 (всего исправлений: 1)

Про запрет для enum'а знаю.

Запрет зяпятой после последнего? В плюсах допустима - разве в С по-другому?

Pavval ★★★★★
()
Ответ на: комментарий от Pavval

С++, всё-таки, несколько отличается от С, поэтому на него в такого рода тонких вопросах лучше не ссылаться. из самого заметного: в С99 есть restrict, но его нет в плюсах. а старый стандарт С — это вообще ад: объявления только в начале блока, нет инлайн ф-ций и констант.

next_time ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.