typedef int (*p)(int a)
时间: 2023-08-14 22:08:22 浏览: 94
typedef 的用法
这段代码定义了一个名为p的新类型,它是一个指向函数的指针类型。该函数接受一个int类型的参数a,并返回一个int类型的值。
具体来说,(*p)表示p是一个指针变量,指向一个函数;(int a)表示该函数接受一个int类型的参数a;int表示该函数返回一个int类型的值。
使用该类型可以更方便地声明指向该类型函数的指针变量,如下所示:
```
typedef int (*p)(int a);
p func_ptr;
```
上面的代码声明了一个名为func_ptr的指针变量,它指向一个接受一个int类型参数并返回一个int类型值的函数。可以将该指针变量指向一个符合要求的函数,如下所示:
```
int add(int a) {
return a + 1;
}
func_ptr = add;
```
上面的代码将func_ptr指向名为add的函数,该函数接受一个int类型参数并返回该参数加1的结果。可以通过该指针变量调用该函数,如下所示:
```
int result = func_ptr(3);
```
上面的代码调用了通过func_ptr指针变量所指向的函数add,并将参数3传递给该函数。函数返回4,赋值给了result变量。
阅读全文