В методе печати ниже, как я могу прочитать содержимое массива после вызова метода Put?Как разыменовать содержимое указателя пустоты в заданных местах
//put some "pointers" in an array
Put(void* array)
{
void* ptr = array; //get starting address of array
int k;
for(k=1; k <= 10; k++)
{
//put data in array
ptr = Get_DataPointer(); //sample return data: 0x6703fff00000 (64-bit hex)
ptr += k; //increment address for next iteration
}
}
//print the contents of the array
Print(void* array)
{
for(k=0; k < 10; k++)
{
long dataPointer = ((long*)(array+ k));
printf("Pointer %i, Content=%l\n", k, dataPointer);
}
}
Я получаю либо "0" или "&" в моем выходе.
привет @sray, я не raelly работать. такой же результат – nikk
Что делает функция Get_DataPointer()? Можете ли вы опубликовать этот код? В строке ptr = Get_DataPointer() кажется, что вы меняете ptr на точку в другом месте? Это не будет обновлять массив. Просто переходя через вашу функцию Print(), кажется, что массив хранит longs, верно? – sray