簡體   English   中英

用地址值初始化指針

[英]Initialize a pointer with an address value

我需要用一個已知的地址來初始化一個指針變量。 請參見下面的代碼,ptr是最終的目的地,而ptr_address的值包含地址值,因此我需要執行類似ptr = value的操作。

int *ptr;
int address;

address = 0x10000005;
ptr = address;

問題是編譯器給出以下警告消息:

warning: assignment makes pointer from integer without a cast [enabled by default]

我的代碼是錯誤的還是沒有收到此編譯器警告的其他方法?

使用演員表:

intptr_t some_variable = 25;

int * ptr1 = (int *) 0x10000005;
int * ptr2 = (int *) some_variable;

或在C ++中:

int * ptr1 = reinterpret_cast<int *>(0x10000005);
int * ptr2 = reinterpret_cast<int *>(some_variable);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM