好的,所以我确定我缺少一个简单的修复程序,但是现在我的代码导致“A[i]->key = 0;”行出现段错误。Record* Item 部分对于程序来说是必需的,所以我需要让它为我正在处理的作业以这种方式工作,但是如果我确实更改它以使 Item 成为 Record 的非指针 typedef,那么我可以使用 A[i].key 没问题。我只需要朝正确的方向轻推,以便让standInput 正确地将值分配给指向记录的指针数组。谢谢!
项目.h:
#include "stdio.h"
#include "stdlib.h"
typedef int keyType;
struct Record
{
keyType key;
int other;
};
typedef struct Record* Item;
void standInput(Item *A, int n)
{
int i, input;
for(i = 0; i <= n-1; i++)
{
A[i]->key = 0;
printf("%d ", A[i]->key);
}
}
主要的:
#include "stdio.h"
#include "stdlib.h"
#include "Item.h"
int main()
{
int n;
Item *A;
printf("Enter a length for the array: ");
scanf("%d", &n);
A = (Item*)malloc(n * sizeof(Item));
standInput(A, n);
return 0;
}