gpt4 book ai didi

c - 如何将结构体指针赋值为null?

转载 作者:行者123 更新时间:2023-11-30 15:27:33 29 4
gpt4 key购买 nike

我不确定我是否足够具体和清晰。但我无法澄清这个疑问。我正在尝试将 NULL 值分配给指针。

给定代码:

typedef struct Date
{
int year;
int month;
}Date;

typedef struct Record
{
char name[20];
char cdate[20];
float quanitity;
int barcode;
Date date;
}Record;

然后在 main 中:

Record *records = malloc(10 * sizeof(Record));
records[0] = NULL;

当我定义一个类似的预定类型数组时,例如 int ,这不起作用我可以赋值,或者NULL例如对于

int *avi = malloc(sizeof(int)*10);
avi[0] = 3;
avi [0] = NULL;

它工作正常,我已经打印了值并看到了变化。但是,当我对指向结构的指针数组执行相同操作时,如上面所定义我只是无法分配 NULL 值..

一无所知。我正在使用 Eclipse IDE。提前致谢。

最佳答案

你的问题是records是一个指向10个对象的指针。因此,records[0] 是第一个对象。您不能将该对象设置为NULL

它似乎只适用于 int,因为您将 int 设置为零,而不是 NULL

关于c - 如何将结构体指针赋值为null?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26934435/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com