标签: variable-address

在C/C++中取消引用char指针?

我正在使用DWARF和ELF信息的程序中工作.我使用名为Pin的工具迷上了另一个程序.我有来自"Y"程序中声明的全局变量的地址,我把它挂钩到我的Pin模块,我称之为"X".

我得到了一堆这些全局变量的地址.不幸的是,当我试图取消引用它们时,我遇到了麻烦.例如(现在我正在手动操作以查看它是否正在执行应该执行的操作):

char * limit, * address1;

for(address1 = (char *) 0x804A040, limit = address1 + bytesize; address1 < limit; address1++)
      cout <<  *(address1) << "\n";
Run Code Online (Sandbox Code Playgroud)

我应该得到存储在该地址中的变量,该变量是char *一个单词.在这种情况下,我是否必须取消引用两个指针?地址然后char *存储在那个地址?

当我想取消引用一个int变量时,这非常正常,但每当我尝试取消引用一个char指针或变量时,我得到的non-ASCII值......

c c++ pointers dereference variable-address

2
推荐指数
1
解决办法
1万
查看次数

使用指针在c ++中显示char变量的地址?

我们怎样才能显示char变量的地址?我找到了一种使用类型转换的解决方案,通过将其转换为int或float或void等,然后使用指针显示地址.但是没有类型铸造的特定解决方案还有其他替代方案吗?使用像指针一样

char var = 'a'; 
char* ptr; 
ptr = &var; 
cout << ptr;
Run Code Online (Sandbox Code Playgroud)

但在这种情况下,即使指针指向var的地址,但显示var的值.为什么?如果是这样那么我们如何使用指针获取var的地址?不使用类型铸造

cout << "Address of var = " << static_cast<void*>(&var)  << endl;
Run Code Online (Sandbox Code Playgroud)

或者我们必须为特定问题超载任何操作员?

c++ pointers char variable-address

1
推荐指数
1
解决办法
1125
查看次数

标签 统计

c++ ×2

pointers ×2

variable-address ×2

c ×1

char ×1

dereference ×1