Нахождение размера символьного массива, зная только его указатель - PullRequest
0 голосов
/ 18 ноября 2018

Прежде всего позвольте мне пояснить одну вещь: мне известен следующий код, который использует факт обнаружения NULL при увеличении размера.

//p is a pointer to a character array aka string
//size is the length of the string
for (char *i = p; *i != '\0'; i++, size++)
        ;
    size--;

Что меня интересуетэто >> Создайте свой собственный оператор sizeof ()

Но вышеприведенная статья работает только для целочисленного массива.Я придумал код для массива символов следующим образом

//p points to a character array
int size1 = (int)(*(&p + 1) - p);

Но он не работает.Может кто-нибудь немного подправить, заставить его работать или сказать, почему это не так.

...