Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C代码中的编译时错误[从函数返回数组指针] #包括 #包括 #包括 #包括 int main() { int i,*ptr; ptr=func(); 对于(i=0;i_C_Pointers - Fatal编程技术网

C代码中的编译时错误[从函数返回数组指针] #包括 #包括 #包括 #包括 int main() { int i,*ptr; ptr=func(); 对于(i=0;i

C代码中的编译时错误[从函数返回数组指针] #包括 #包括 #包括 #包括 int main() { int i,*ptr; ptr=func(); 对于(i=0;i,c,pointers,C,Pointers,,因为您在调用func()时没有首先声明它。这会导致编译器假定它将返回int,但随后您将该整数存储在一个指针中,这当然是可疑的 通过将func() 另外,不带参数的函数在C中应该是(void),并且。您还应该检查malloc返回值是否为NULL #include<stdio.h> #include<stdlib.h> #include<math.h> #include<conio.h> int main() { int i, *ptr;

,因为您在调用
func()
时没有首先声明它。这会导致编译器假定它将返回
int
,但随后您将该整数存储在一个指针中,这当然是可疑的

通过将
func()


另外,不带参数的函数在C中应该是
(void)
,并且。

您还应该检查
malloc
返回值是否为
NULL
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#include<conio.h>

int main()
{
    int i, *ptr; 
    ptr = func();
    for(i=0;i<20;i++)
    {
        printf("%d", ptr[i]);
    }
    return 0;
}

int * func()
{
    int *pointer;
    pointer = (int*)malloc(sizeof(int)*20);
    int i;
    for(i=0;i<20;i++)
    {
        pointer[i] = i+1; 
    }
    return pointer;
}
int * func();