【发布时间】:2015-05-25 23:11:56
【问题描述】:
在下面的 Print 方法中,如何在调用 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”或“&”。
【问题讨论】:
标签: arrays pointers void-pointers dereference pointer-arithmetic