工作总结3-typedef中的函数类型与函数指针类型

本文详细解释了C++中`void(*f)()`与`void(f)()`的区别,前者代表函数指针类型,后者代表函数类型,并通过代码实例展示了如何为这些类型赋值及调用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

typedef void (f)()
可以这样写,代表的是一个函数类型,
typedef void (*f)()
可以这样写,代表的是一个函数指针类型

可以对void(*f)() 中的f赋值,因为它是一个指针变量

不可以对void(f)()中的f赋值,因为它是一个常量,只是声明了是一个函数


上代码,慢慢体会!


--------------------------------------------------------------------------------------------------


#include <iostream>
#include <string>
using   namespace std;

typedef void (f_t)(string);

typedef void (*g_t)(string);


void out(string value)
{
  cout<<value<<endl;
}


int main(void)
{
    f_t *ft;
    g_t gt;

    ft = out;
    gt = out;

    ft("ft");
    gt("gt");

   system("pause");
   return 0;
}


又发现函数类型的一种用法 上代码


 

1 #include <stdio.h>
  2
  3 typedef void Myfunc(void);
  4
  5 //static Myfunc myfunc;
  6  Myfuncrmyfunc;
  7
  8 int main(void)
  9 {
 10
 11    myfunc();
 12 }
 13
 14 void myfunc()
 15 {
 16  printf("hello man!");
 17 }
~                                                                                                                                            
~                  




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值