1
http://www.ideone.com/kRaMj關於const如何修改存儲行爲的說明
我在algogeeks論壇中發現了這個問題。任何人都可以解釋i
的值是如何仍然0
,但*p
顯示2
雖然他們的地址是相同的。
#include<stdio.h>
int main()
{
const int i = 0;
int * p ;
p = (int *) & i;
*p = 2;
printf("(i,p): %x %x \n",&i,p);
printf("(i,p): %d %d \n",i,*p);
}
的程序的輸出是:
(i,p): bfdf6234 bfdf6234
(i,p): 0 2
請包括問題中的代碼,而不是發佈鏈接 –
@Nikhil:請儘量保持Q/Answers ** self contained **,這是很好的,你在這裏發佈鏈接到Ideone上的代碼,但是重複它也是在這裏,原因是如果由於某些原因該鏈接在將來變得無效,則Q仍然有效,並且對它的回答將有助於其他人。 –
很抱歉張貼鏈接而不是實際的代碼。請記住將來的帖子。 – Nikhil