Это не то, что вы можете сделать в C, не сохраняя информацию самостоятельно. Вы создали массивы, поэтому в какой-то момент вы знали их размеры, вам просто нужно их отслеживать самостоятельно. Вы можете создать структуру данных, которая поможет вам, или просто сохранить информацию о массиве и размере без какой-либо структуры данных.
Кроме того, ваш код использует strlen()
для получения размера строки - убедитесь, что вы помните, что возвращенный размер не будет содержать завершающий нулевой символ ('\0'
); размер памяти в строковой константе равен strlen(string) + 1
.