求解怎么将数组各个元素的地址再储存到本数组中

求解如何将数组各个元素的地址再储存到本数组中
本帖最后由 sinat_19990505 于 2015-05-06 16:48:21 编辑
#include <iostream>
#include<iomanip>
using namespace::std; 
using std::setw;
/* run this program using the console pauser or add your own getch, system("pause") or input loop */

int main() {
int* p(NULL);
int a[256];
int i,mark(0);

for(i = 0;i < 256;i++)
{
p = &a[i];
a[i] = p;
mark++; 
cout <<"\t"<< mark<< "|"<<a[i];
}

return 0;
}

小弟才疏学浅,只能做到用单一的一个指针取得数组各个元素的地址,但是如果要我将指针取得的数组各个元素的地址再储存到数组的各个元素中就不知道怎么办了,我这样做只能被编译器返回一个15 8 I:\BaiduYunDownload\main(1).cpp [Error] invalid conversion from 'int*' to 'int' [-fpermissive]的错误求大神赐教求解怎么将数组各个元素的地址再储存到本数组中
------解决思路----------------------
#include <iostream>
#include <iomanip>
using namespace std;
int main() {
    int *p=NULL;
    int a[256];
    int i,mark=0;

    for (i=0;i<256;i++) {
        p = &a[i];
        a[i] = (int)p;
        mark++;
        cout <<"\t"<< mark << "
------解决思路----------------------
" << a[i];
    }
    return 0;
}