struct x {
unsigned int y;
unsigned int *ptr;
};
std::vector<struct x> z;
Я хочу, чтобы получить доступ к целочисленный массив, на который указывает ptr
. z[0].y
будет правильно возвращать элемент y
из первой структуры в векторе.Как напечатать заостренный на массив Целые внутри структуры Внутри вектора
Как напечатать массив, на который указывает ptr внутри первой структуры?
В чем проблема с использованием 'z [0] .ptr [i]' где 'i' - это индекс, к которому вы хотите получить доступ? – Oguk
Ptr хранит адрес другого выделенного массива. Он не указывает на кусок выделенной памяти. – user3526793
Указывает на выделенный массив, но он не указывает на выделенную память? Это противоречит самому себе;). Вы имеете в виду, что ничто не было назначено на 'ptr'? Тогда вы должны сделать это сначала, прежде чем пытаться читать. Как насчет использования 'std :: vector' вместо 'unsigned int *'? Пока вы не хотите, чтобы многие ваши структуры указывали на один и тот же базовый массив, это должно быть намного безопаснее, потому что вам не нужно заботиться о распределении/освобождении памяти. (Кроме того: ваш вопрос касался только печати (т. Е. * Чтения *) ptr, а не создания массива, на который он может ссылаться). –
Oguk