1樓:匿名使用者
在計算機分配記憶體的時候,理論上你是不可能預知道某個變數的實際實體地址。
但,如果假設你知道了實體地址,也知道變數的型別。
你可以定義一個相對應的指標變數。然後把地址值賦給它,然後就可以引用了。
例如,記憶體地址為0x10000裡面存了一個值為2的整型。
那麼定義
int *p;
p=0x10000;
當你要引用2,
就使用*p ,所表示就是2。
2樓:匿名使用者
用指標可以辦到,但是通常的用法是已知型別的指標指向已知型別的變數,直接指向一個地址是不推薦的做法,可能在某些編譯系統上會出錯,對於本程式,寫法如下:
int *a=0x10000;
printf("%d",*a);
3樓:匿名使用者
地址是物理性的 存放的資料以位元組為單位
你可以申請char *point_char;
point_char=0x10000;
以後操作跟指標一樣
但是需要注意的一點 所操作的記憶體是不是你現在執行這個程式的空間
4樓:匿名使用者
我弄不明白你怎麼知道ox10000裡存的數是2??
要是真的有辦法知道,能不能告訴我!~1要是你自己程式設計序時有,那你可以一直用的呀??
你最好把你的程式也放上來!~!不然,我們是不明白你想知道什麼,我們也不知道怎麼解釋!~1
5樓:匿名使用者
請教樓上幾位一個問題,為什麼說這樣int a = *(int*)(0x10000); 有危險呢?這條語句不就取一個記憶體中的資料,不明白有什麼危險的,呵呵,請指教。
6樓:匿名使用者
對指標取值就可以了..指標是p..那麼*p返回值呀
7樓:匿名使用者
int *p;
p=0x10000;
printf("%d",*p);
8樓:匿名使用者
這樣有點危險喔
int a = *(int*)(0x10000);
9樓:匿名使用者
理論上可以!用起來很危險
c語言空指標野指標通用指標,C語言 空指標
野指標就是不知道指向 或者說不知道指向的記憶體是否可以使用,一般都是剛剛宣告但沒有初始化的指標。空指標不是指向常數0,只指向地址0,即null,其實換句話說,指標的本質就是地址嘛,空指標就是指標本身的值 地址 為0 空指標的作用是防止野指標的出現,因為我們不能知道野指標到底指向 所以我們也無法判斷一...
c語言行指標和列指標,C語言行指標和列指標
在任何時候 抄都不能定址,它是用bai來取地址的.p i 在任du何時候zhi 都等價dao於 p i p i j 其中p是int x 型別的 在任何時候都等價於 i x j x是一個變數.int a 10 20 這裡x 20 int a 20 10 這裡x 10 c語言沒有什麼行指標,列指標.一維...
C語言指標
正如您所說 a是一個常量,常量是不能修改的變數。不可以修改,不代表不可以引用呀,a i 只是借用a的值 陣列的首地址 來訪問其他成員,實際上並沒有改變a的值。但是換成a 執行之後a的值就改變了,被修改了,編譯當然通不過啦。這道題中的a是陣列的首地址,要是改變a的值,那陣列不是也改變了嗎?所以,一定是...