我不確定我是否特別清楚。 但病得不明確。 我想分配一個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