我正在为我的大学制作一个项目并使用 MakeFile 编译我的文件我遇到了问题,我有 5 个文件:api.c api.h datastruct.c datastruct.h main.c主要是我有这个函数调用:DovahkiinP new = NuevoDovahkiin();NuevoDovahkiin() 函数在 api.c 中定义,也是 DovahkiinP 指向的结构体 DovahkiinSt
函数 NuevoDovahkiin() 在 api.c 中定义如下:
DovahkiinP NuevoDovahkiin(){
DovahkiinP new_dovahkiin = NULL;
new_dovahkiin = calloc(1, sizeof(struct DovahkiinSt)); //Here is the problem
if(new_dovahkiin != NULL){
new_dovahkiin->root = NULL;
new_dovahkiin->source = NULL;
new_dovahkiin->sink = NULL;
new_dovahkiin->tempflux = 0;
}
return (new_dovahkiin);
}
在api.h中定义了结构体DovahkiinSt:
typedef struct _DovahkiinSt_t {
vertex root;
vertex source;
vertex sink;
u64 tempflux;
}DovahkiinSt;
typedef DovahkiinSt *DovahkiinP;
在 api.c 和 main.c 中我都有#include "api.h"我不明白 sizeof(struct DovahkiinSt) 有什么问题
使用 sizeof(DovahkiinSt)
或 sizeof(struct _DovahkiinSt_t)
。
sizeof(struct DovahkiinSt)
没有意义,因为 DovahkiinSt
只是 struct _DovahkiinSt_t
的不同名称。
我是一名优秀的程序员,十分优秀!