我已经读过将函数指针返回到另一个函数,传递指针的函数必须是指针函数。我的意思是,例如,如果函数的名称是int Add
,它必须是int *Add
,但是当我测试它时,似乎两种方式都可行吗?这是非强制性规则吗?
#include <stdio.h>
int *random_func(){ // if remove * and recompile it, still works fine.
int arr[2] = {12,13};
int *point = (int*) malloc(2*sizeof(int));
point= arr;
return point;
}
main(){
int *ptr;
ptr=random_func();
printf("%d %d ",*(ptr), *(ptr+1));
return 0;
}