我想知道以下语句的含义是什么。
int *abc(int,int);
int (*abc)(int,int);
以及这些指针与普通指针有何不同。例如:
int *ptr;
谢谢
最佳答案
Can a pointer take arguments?
不,指针只是一个存储内存位置地址的变量。
int *abc(int,int);
这是函数abc
的声明,它接受两个参数,均为int
类型,并返回一个指向int
类型的指针。
int (*abc)(int,int);
这里,abc
是一个指针,它可以指向一个函数,该函数接受两个int
类型参数并返回一个int
。
假设你有一个函数 fun
:
int fun(int a, int b) {
return a + b;
}
abc
可以指向 fun()
,如下所示:
abc = fun;
然后你可以使用 abc
指针调用函数 fun
,如下所示:
abc(4, 5);
how these pointers are different from the ordinary pointer. ex:
int *ptr;
这里,ptr
是一个指针,可以存储int
类型的地址。
因此,所有的指针都存储一些内存位置,区别在于它们指向的类型的地址。
关于c++ - 指针可以带参数吗?这3种指针有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50304546/