21xrx.com
2025-04-03 21:02:46 Thursday
文章检索 我的文章 写文章
如何在C++中打印函数指针地址
2023-06-28 20:11:27 深夜i     73     0
C++ 函数指针 地址 打印

在C++中,函数指针作为一种数据类型,被广泛应用于各种场景中。如果需要打印一个函数指针的地址,可以使用以下代码。

C++
#include <iostream>
void foo()
  // do something
int main()
{
  void (*pFoo)() = &foo;
  std::cout << "Function pointer address: " << pFoo << std::endl;
  return 0;
}

在上述代码中,定义了一个函数指针pFoo,它指向函数foo。使用取地址运算符&,可以获取函数foo的地址,并将其赋值给pFoo。

接着,使用std::cout流输出pFoo的值即可打印出函数指针的地址。注意,函数指针是一个地址,因此在输出时不需要使用引用符&。

此外,也可以使用printf函数输出函数指针地址的十六进制表示,示例如下。

C++
#include <cstdio>
void foo()
{
  // do something
}
int main()
{
  void (*pFoo)() = &foo;
  printf("Function pointer address: %p\n", pFoo);
  return 0;
}

在此示例中,使用了printf函数的格式化输出功能,其中%p是输出地址的格式控制符。需要注意的是,使用printf输出函数指针地址时,需要将函数指针转换为void*类型。

  
  

评论区

请求出错了