C 如何将结构的数组之一设置为空位置?
我有一个包含5个元素的数组的结构。我想让数组中的一个元素指向C 如何将结构的数组之一设置为空位置?,c,arrays,structure,C,Arrays,Structure,我有一个包含5个元素的数组的结构。我想让数组中的一个元素指向null位置 注意:我的意图不是让结构的任何成员都被赋值为零(不管是零还是垃圾值都可以)。但是如何使结构数组的一个成员指向null位置 例如: typedef struct { int x; int y; int z; } alpha; alpha abc[5]; 我希望abc[0]指向null位置。空值只允许指向指针,并且您没有指针数组。解决方案是制作一个,如下所示: alpha *abc[5]; 然
null
位置
注意:我的意图不是让结构的任何成员都被赋值为零(不管是零还是垃圾值都可以)。但是如何使结构数组的一个成员指向null
位置
例如:
typedef struct
{
int x;
int y;
int z;
} alpha;
alpha abc[5];
我希望
abc[0]
指向null
位置。空值只允许指向指针,并且您没有指针数组。解决方案是制作一个,如下所示:
alpha *abc[5];
然后,您可以访问数组的任何部分并将其设置为NULL
abc[2] = NULL;
请记住,如果将其更改为指针,则需要分配它(或使其指向有效的内容),并更改访问
结构的每个元素的方式(而不是abc[1]。x
将是abc[1]->x
)空值仅允许用于指针,并且您没有指针数组。解决方案是制作一个,如下所示:
alpha *abc[5];
然后,您可以访问数组的任何部分并将其设置为NULL
abc[2] = NULL;
请记住,如果将它更改为指针,则需要分配它(或使它指向有效的对象),并更改访问结构的每个元素的方式(而不是abc[1]。x
它将是abc[1]->x
)您将需要类似alpha*abc[5]
的内容,然后,例如,abc[3] =null;
数组不是指针。alpha
不是指针,因此它不能“指向”null位置。您需要类似于alpha*abc[5]
的内容,然后,例如,abc[3]=null;
数组不是指针。alpha
不是指针,因此它不能“指向”到空位置。谢谢@DavidBowlingThanks@DavidBowling