是*必须定义一个可以返回指针的函数吗?

时间:2017-01-19 19:07:11

标签: c

我已经读过将函数指针返回到另一个函数,传递指针的函数必须是指针函数。我的意思是,例如,如果函数的名称是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;

}

0 个答案:

没有答案