1樓:
lz不能對指標變數直接進行賦值。
int *p;
p就是乙個指標變數。它的值是乙個記憶體位址。
而 ox0467a618雖然是乙個十六進位的。但是其型別是const int(常整型)
將乙個常整型賦給乙個整型指標變數p,型別不匹配。
這樣也是錯誤的。不能直接取乙個常量的位址。
p = 0x0467a618);
int i = 0x467a618;
p = i; /對變數進行取位址操作,並將位址給指標變數。
2樓:儀
這個可以看和其他標頭檔案中的定義。
存放在控制代碼表中的為索引值,其它的一般為記憶體位址。
一般情況下,像這種定義為void*的一般是索引:
typedef void* handle;
類似的還有hkey等等。
typedef _hinstance* hinstance;
類似的還有hmodule等等。
另外,索引控制代碼的值通常比較小,為4的倍數。如0x784而位址的值會比較大(至少0x130000)
3樓:網友
不可以直接給記憶體位址的。
vc 如何用指標讀記憶體
4樓:網友
宣告指標變數後,把變數或陣列的位址賦值指標就行。
5樓:網友
指標的解引用就是讀記憶體了。
vc++中的控制代碼哪些是記憶體位址指標,哪些僅僅只是乙個索引?
6樓:網友
這個可以看和其他標頭檔案中的定義。
存放在控制代碼表中的為索引值,其它的一般為記憶體位址。
一般情況下,像這種定義為void*的一般是索引:
typedef void* handle;
類似的還有hkey等等。
typedef _hinstance* hinstance;
類似的還有hmodule等等。
另外,索引控制代碼的值通常比較小,為4的倍數。如0x784而位址的值會比較大(至少0x130000)
vc用指標修改另一程式記憶體數值提示記憶體提示不可寫,該用什麼**實現?
7樓:空雪夢見
修改乙個long型別麼。
用virtualprotect解除保護可破dword noldprot;
bubu=(long *)0x004508e4;
bubu=15818207595883192297;
另:你那個常數超出long的範圍了。
vc給定乙個位址,定義乙個指標指向這個位址
8樓:網友
強行轉換即可! 如char * p = (char *)a;
現在p就指向123456, 指向這裡可以。
但往往p是不能訪問的!
9樓:網友
作業系統不允許這麼幹吧。記憶體是系統分配的,不能是你想要**就是那裡。只能向系統申請。
10樓:牛尋草
int *b; //定義指標int型指標b
b = &a; //指標b指向a的位址。
就這麼簡單。
vc6 0的問題,vc 6 0總是報有一個錯誤
你是否沒寫頭合適的檔案?能貼你的 嗎 vc沒安好吧,缺少必要檔案 vc 6.0總是報有一個錯誤 方法二 這種較簡單 最簡便的方法 啟動vc時不要用圖形介面,通過在命令提示符下輸入 msdev useenv執行 注意啦 前面有個空格 它會強制使系統環境變數全高設定成正確值.而且,只需要使用一次這樣的方...
請教乙個簡單的演算法問題(用VC實現)
include using namespace std define count 陣列長度。define max 和的最大值。int main int num count 用來存原始的陣列。int store count 存處理後的陣列。int i,j,k,total cout 請輸入資料 cout...
關於指標的問題(pf《4 關於指標的一個問題( pf
將第一個函式中的指令 if pf 4 32 pf 4 100 修改為 if pf 4 32 pf 4 100 不明白樓主的意思。請問樓主的編譯環境是什麼?在vc 下,按上述修改之後,兩個程式能夠得到相同的結果。確實如此,使用 if pf 4 32 pf 4 100 與if char pf 4 32 ...