int a[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
Это синтаксис объявления и инициализации статического массива. Язык си позволяет не указывать размерность в квадратных скобках и просто указать int a[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
Т.е. последовательность в фигурных скобках позволяет инициализировать массив. Размерность, указанная в квадратных скобках, но которую мы можем опустить при инициализации, позволяет определить сколько памяти необходимо выделить под все это дело. Когда ты объявляешь указатель, ты не выделяешь память под массив.