我遇到以下代碼的問題。指針問題
int main (int argc, const char * argv[]) {
#define MAXCHARACTERS 10
#define MAXNUMBERS 2
char buffer[MAXCHARACTERS];
numberOfStructs = 0;
allocSize = 10;
array = malloc(allocSize * sizeof(StructItem));
dataLink *link;
do
{
Album *tempStruct;
fgets(&(*tempStruct->firstField),MAXCHARACTERS, stdin);
fgets(&(*tempStruct->secondField), MAXCHARACTERS, stdin);
fgets(buffer, MAXNUMBERS, stdin);
sscanf(buffer, "%d", &(tempStruct->thirdField) == 1); // line 26
link = List(&tempStruct);
array[numberOfStructs] = (*tempStructs);
numberOfStructs += 1;
array = reAllocArray(&array, &allocSize, numberOfstructs);
}
while(link->newStruct != NULL);
printList(&array, numberOfStructs);
freeArray(&array, numberOfStructs);
}
我得到警告如下
/main.c:26:警告:指針和整數之間的比較 警告:從兼容的指針類型傳遞 '列表' 的參數1
我收到了一些「傳遞參數1」的錯誤消息。
我在做什麼這些指針錯了?
感謝
'Album'的類型是什麼?或者說,你是如何定義這種類型的? – 2011-02-13 08:50:14