相关疑难解决方法(0)

我是否施放了malloc的结果?

这个问题,有人建议意见,我应该不会投的结果malloc,即

int *sieve = malloc(sizeof(int) * length);
Run Code Online (Sandbox Code Playgroud)

而不是:

int *sieve = (int *) malloc(sizeof(int) * length);
Run Code Online (Sandbox Code Playgroud)

为什么会这样呢?

c malloc casting

2318
推荐指数
27
解决办法
22万
查看次数

C 函数的返回指针是好/坏设计?

我想知道 C 函数的返回指针是好还是坏设计?如果这是一个不好的做法,那么在下面的例子中什么是好的做法:

问题是继续部分: c函数返回静态变量

data.h文件中:

#include <stdio.h>
#include <stdlib.h> 

typedef struct
{
   int age;
   int number;
} person;

person * getPersonInfo();
Run Code Online (Sandbox Code Playgroud)

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;
}
Run Code Online (Sandbox Code Playgroud)

main.c

#include "data.h"

int main()
{
   person* pointer = getPersonInfo();
   return 0;
}
Run Code Online (Sandbox Code Playgroud)

基本上,文件中的main函数main需要获取静态指针指向的数组所有元素的值person_p,如果这不是一个好的做法,那么好的做法应该是什么?

c arrays static pointers return

5
推荐指数
1
解决办法
1732
查看次数

标签 统计

c ×2

arrays ×1

casting ×1

malloc ×1

pointers ×1

return ×1

static ×1