我不确定我是否特别清楚。 但病得不明确。 我想分配一个NULL值给一个指针。如何将null指定给struct的指针?
给出的代码:
typedef struct Date
{
int year;
int month;
}Date;
typedef struct Record
{
char name[20];
char cdate[20];
float quanitity;
int barcode;
Date date;
}Record;
,然后在主:
Record *records = malloc(10 * sizeof(Record));
records[0] = NULL;
这是行不通的,当我定义premitive类型的similliar阵列,例如诠释 我可以分配值,或NULL 例如,对于
int *avi = malloc(sizeof(int)*10);
avi[0] = 3;
avi [0] = NULL;
它工作正常,我已经打印了值并看到了更改。 但是,当我对指向struct的指针数组做同样的操作时,如上面定义的 我只是不能指定NULL值。
无能为力。 我正在使用eclipse IDE。 在此先感谢。
你不能那样做,因为你不能为NULL结构分配NULL。你必须为每个元素赋NULL。 – bitcell 2014-11-14 16:25:20
您创建了一个Record的数组,而不是指向Record的指针数组。将NULL分配给数组的单个元素是没有意义的。 – 2014-11-14 16:25:43
'* records [0] .name = 0;' – BLUEPIXY 2014-11-14 16:29:29