相关疑难解决方法(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中的面向对象问题.

c oop object

481
推荐指数
19
解决办法
28万
查看次数

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)

函数getPersonInfo()返回一个指针,该指针是 中的静态指针data.c,这是允许且合法的吗?在 中main.c,该函数可以getPersonInfo()这样使用吗:person* pointer = getPersonInfo();

c arrays static pointers

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

标签 统计

c ×3

arrays ×1

casting ×1

malloc ×1

object ×1

oop ×1

pointers ×1

static ×1