コードについてC言語:なぜ私はNULLを取得するのですか?
tpは、テーブルを含む特定の構造体へのポインタです。
テーブルは、異なる構造体のポインタへのポインタであり、配列として使用されます。
サイズは表のサイズにすぎません。 NULLに
アレイ内のすべてのセルを初期化するために機能するこれらveriablesを送信
イム。
このライン:
initArr(tp->table,tp->size);
がこの機能に送信します:
Eclipseのデバッガを使用してvoid initArr(ObjectP* array,int size)
{
int i;
for (i = 0; i < size; ++i)
{
array[i]=NULL;
}
}
私は、配列内のオブジェクトがNULLに初期化されている
Infactはされていることがわかりますメソッドが終了したら、
tp-> tableがNULLです。
ポインタがワイルドになった?
助けてください。
構造体:
テーブル:
typedef struct Table
{
size_t size;
hashFcn hash;
printFcn print;
comparisonFcn comp;
ObjectP* table;
int duplicated;
}Table;
オブジェクト:
typedef struct Object
{
void *key;
ObjectP pointsTo;
}Object;
これはどちらですか? CまたはC++?私があなたに与えるアドバイスは、それがどれであるかによって非常に異なる*でしょう。 – Flexo
'struct'を投稿してください。 –
なぜ 'void'を返す関数で何かを返すのですか? – Constantinius