Прежде всего позвольте мне пояснить одну вещь: мне известен следующий код, который использует факт обнаружения 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);
Но он не работает.Может кто-нибудь немного подправить, заставить его работать или сказать, почему это не так.