Когда вы пишете
char* vowels = "aeiou";
, указатель vowels
указывает на первый элемент «массива», то есть «a», то, что вы делаете с этим указателем, зависит от вас, если вы, например, хотите доступ к третьему элементу, на который указывает гласная, тогда *(vowels + 2)
даст вам - адрес того же vowels + 2
, вы также можете объявить vowels
следующим образом
char vowels[] = "aeiou"; here vowels again tells where the array starts
прототип strchr выглядит следующим образом:
char *strchr( const char *str, int ch );
Когда вы передаете vowels
, вы указываете функции начать поиск, где гласные начинаются с 'ch'. strchr просматривает, пока не найдет конец строки, который является \0
, если он находит, он возвращает указатель на это место, то есть гласные + 0, +1, ...