首先让我说清楚一点,我知道以下代码使用了在增大大小的同时遇到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--;
我对此感兴趣的是>> Make your own sizeof() operator
但是以上文章仅适用于整数数组。我想出了一个用于字符数组的代码,如下所示:
//p points to a character array
int size1 = (int)(*(&p + 1) - p);
但是它不起作用。有人可以对其进行一些调整,以使其强制运行,或者告诉我为什么它是错误的。