C语言,*p=200,为什么不能给*p前面再加一个指针变成**p?

2025-05-17 19:51:47
推荐回答(1个)
回答(1):

因为*p是一个整数,而不是地址,所以**p就是非法的。
要把一个整数当做地址看待,可以强制转换,要实现你说的**p地址可以这样:
*(int*)(*p);//把*p的值当做一个int的地址,然后读取这个地址内的值
要把一个具体的数值当做地址,也一样,比如
*(int*)1234;//把1234当做地址,然后读取这个地址内的值
但要注意1234这个绝对地址是不允许用户程序访问的,一般会出错