Нет, это делает yes
новым именем для массива из 5 указателей на постоянные символьные данные.
Способ думать об этом - выражение после typedef
выглядит как объявление, а вместо этого имя в объявлении считается именем для нового типа, который является объявленным типом.
То есть typedef int x;
делает x
новым именем для int
. Это не меняется с массивами.