在这个问题,有人建议意见,我应该不会投的结果malloc,即
int *sieve = malloc(sizeof(int) * length);
而不是:
int *sieve = (int *) malloc(sizeof(int) * length);
为什么会这样呢?
我想知道 C 函数的返回指针是好还是坏设计?如果这是一个不好的做法,那么在下面的例子中什么是好的做法:
问题是继续部分: c函数返回静态变量
在data.h文件中:
#include <stdio.h>
#include <stdlib.h> 
typedef struct
{
   int age;
   int number;
} person;
person * getPersonInfo();
在 data.c
#include "data.h"
static struct person* person_p = NULL;
person * getPersonInfo()
{
   person_p = (struct person*)malloc(10 * sizeof(struct person));
   return person_p;
}
在 main.c
#include "data.h"
int main()
{
   person* pointer = getPersonInfo();
   return 0;
}
基本上,文件中的main函数main需要获取静态指针指向的数组所有元素的值person_p,如果这不是一个好的做法,那么好的做法应该是什么?