BTREEは次のように宣言されていると仮定:
typedef struct
{
int isLeaf;
int numKeys;
}bTree;
これはあなたの関数の呼び出しの例です。
#include <stdio.h>
#include <stdlib.h>
typedef struct
{
int isLeaf;
int numKeys;
}bTree;
bTree* btCreate(void)
{
bTree *b;
b = malloc(sizeof(bTree)); //pay attention here sizeof(bTree)
if (b==NULL)
{
printf ("malloc failed \n");
return NULL;
}
//initialization
b->isLeaf = 1;
b->numKeys = 0;
return b;
}
int main()
{
bTree* ptree;
ptree = btCreate();
if(ptree!=NULL){
printf ("initial values:\n");
printf ("isLeaf = %d \n",ptree->isLeaf);
printf ("numKeys = %d \n",ptree->numKeys);
}
return 0;
}
・ホープ、このヘルプ
と* 'bTree' *何ですか? –
'bTree'はポインタのtypedefですか?しないでください。これは存在するtypedefの最悪の使用の1つです。ポインタのセマンティクスは明示的にする必要があります。あなた自身はすでにそれを抱えています。 – StoryTeller
C++コンパイラの代わりにCコンパイラを使用します。 – BLUEPIXY