Компилятор может хранить текст в любом месте памяти.Таким образом, промежуток между выходными данными не может быть указан.
printf ("\ n% p", myarr [0]);
Распечатает адреспервый символ первого текста, который может быть где угодно.
Я думаю, что вы хотели сделать, это
printf("\n%p", &myarr[0]);
Это напечатает адрес указателя на первый текст.Таким образом, выходные данные
printf("\n%p", &myarr[0]);
printf("\n%p", &myarr[1]);
printf("\n%p", &myarr[2]);
printf("\n%p", &myarr[3]);
printf("\n%p", &myarr[4]);
printf("\n%p", &myarr[5]);
printf("\n%p", &myarr[6]);
будут давать результат, который, я думаю, вы ожидаете.
Пример вывода:
0x7ffe3bfe9a10
0x7ffe3bfe9a18
0x7ffe3bfe9a20
0x7ffe3bfe9a28
0x7ffe3bfe9a30
0x7ffe3bfe9a38
0x7ffe3bfe9a40
* 1033