


Как узнать количество элементов в массива типа char * c++
Есть динамический массив типа - char *
Нужно узнать его длину (кол-во элементов в массиве)
Количество элементов динамического массива узнать нельзя. В предыдущем ответе функция strlen - длина строки - это число элементов массива до нулевого элемента (символа с кодом ноль). Если массив не заполнен, strlen может вернуть любое значение. Если требуется знать число элементов динамического массива, это значение надо хранить и передавать отдельно.
В C++ для строк есть класс string, для других массивов - шаблонные классы vector и array. Если вы пользуетесь обычными массивами там где удобней использовать классы, вы пишете на Си, а не на C++.
внутри функции main есть подфункции выделяющие память,
когда внутри C++ запрашивается память, там увеличивается счётчик выданной памяти. Наверное есть и глобальная переменная которая указывает сколько выдано памяти.
ты можешь остановить процесс компиляции на уровне ассемблера и посмотреть, там уже подставлены все эти функции выделения памяти.
в любом С есть три стадии компиляции: подстановка макро определений (процессора), Ассемблирование, построение объектного модуля. Линкование с библиотеками.