我是C中的新手并且试图将指针从我的函数返回到指针变量并且让“[Warning]赋值从整数中生成指针而没有强制转换”不知道为什么编译器将它定义为int。 也不能在main之前声明我的函数,它会抛出这个“对free_block'的未定义引用”。
#include <stdio.h>
#include <stdlib.h>
struct block{
int num;
};
int main(int argc, char *argv[]) {
struct block *b;
b = free_block();
struct block *free_block(){
struct block *b = NULL;
return b;
}
return 0;
}
谢谢
是的,我的错我不太了解c语法,也不知道嵌套函数,soz。
但在这种情况下可能出错:
我试图在不使用malloc或calloc函数的情况下创建自己的内存分配器。在我的代码中,我在pointer = free_space_get(size);
的行上有相同的警告,这里我没有嵌套的func(),我的方法在main()之前定义,但仍然不知道我是否必须声明我的函数或者没有考虑到给我的答案,只要在main()之前定义了函数,它就能正常工作。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct header{
size_t size;
struct header *next;
unsigned int free;
};
void *m_alloc(size_t size){
size_t total_size;
void *block;
struct header *pointer;
if(!size)
return NULL;
pointer = free_space_get(size);
if(pointer){
pointer->free = 0;
return (void*)(pointer + 1);
}
}
struct header *get_free_space(size_t size){
struct header *b = NULL;
return b;
}
int main() {
return 0;
}
答案 0 :(得分:0)
您的代码可以重写为
}).then((returnArray) => {