int main()
{
int *p,*q;
p=(int *)1000;
q=(int *)2000;
printf("%d:%d:%d",q,p,(q-p));
}
輸出指針類型轉換
2000:1000:250
1.I無法理解p=(int *)1000;
線,這是否意味着p被指向1000地址位置?如果我這樣做*p=22
該值是否存儲在1000個地址並覆蓋現有值?如果它覆蓋該值,那麼如果另一個程序正在處理1000個地址空間呢?
- how
q-p=250
?
編輯:我試過printf("%u:%u:%u",q,p,(q-p));
輸出是一樣的
int main()
{
int *p;
int i=5;
p=&i;
printf("%u:%d",p,i);
return 0;
}
輸出
3214158860:5
- 這是否意味着由編譯器所使用的地址是整數?正常整數和地址整數沒有區別?
爲什麼downvote?plz解釋。我認爲我不應該接受任何答案,除非我得到downvotes的解釋 –