[英]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.