코드에 관하여 :C 언어 : 왜 NULL이 나옵니까?
tp는 테이블이 들어있는 특정 구조체에 대한 포인터입니다.
테이블은 다른 구조체의 포인터에 대한 포인터이며, 배열로 사용됩니다.
크기는 테이블 크기에 불과합니다. NULL로
어레이의 모든 셀을 초기화하기 위해이 함수를 송신 veriables
임.
이 라인 : 나 어레이 내의 객체
가 NULL로 초기화되고 가리키고 있음을 알 수 이클립스 디버거를 사용
void initArr(ObjectP* array,int size)
{
int i;
for (i = 0; i < size; ++i)
{
array[i]=NULL;
}
}
:
initArr(tp->table,tp->size);
이 함수에 보낸다 메소드가 끝나면
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